Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 09:29   #1
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
Смущение json encode\decode в javascript

Доброго времени суток!
С javascript Знаком лишь поверхностно, но тут встала задача создания json строки средством этого языка.
В рнр есть крайне удобные функции json_encode\json_decode

которые преобразуют массив в json строку и обратно. Вот хотелось бы узнать как тоже самое осуществлять поутем jsvascript.
задача примерно такая
есть <input type="hidden" id="json" value = "{"key1:val1","key2:val2"....}" />
соответственно берем
var str = document.getElemntById('json').valu e;
И далее нужно то что лежит в str преобразовать в массив.
var arr = str.переобразователь json строки в массив;
пербрать его аля
for (var i=0; i <arr.length; i ++)
{
if(arr[i] == srid) {delete arr[i];}//alert(arr[i]);
}

var json2 = преобразователь массива в json строку(arr);

document.getElementByid('json').val ue = json2;
кто подскажет есть ли такие преобразователи и если есть где их взять\почитать
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 01.06.2011, 12:21   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Зачем?
Отправляйте на сервер данные сразу в виде строки ?atr=xx&atr2=yyy
Виталий Желтяков вне форума Ответить с цитированием
Старый 01.06.2011, 13:43   #3
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Зачем?
Отправляйте на сервер данные сразу в виде строки ?atr=xx&atr2=yyy
) не совсем все просто)

там аякс)
структура аля
список чекбоксов
1 id=1 checked="checked"
2 id=2 checked=" "
3 id=3 checked="checked"
4 id=4 checked=" "
5 id=5 checked=" "
спрятанный инпут
<input type="hidden" id="json" value="{"1":"1","2":"0","3":"1","4" :"0","5":"0"}" />
кнопка Save
<input type="button" onclick="javascript:saveboxes();" vlaue="Save" />

юзверь выбрал 1 и 3, это записалось в value и по кнопке Save ушло аяксом на сервер. и как вы придлагаете можно поделать, но списков много и заранее нельзя узнать сколько чекбоксов в них будет и сколько придется перебрать на предмет значений.
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 01.06.2011, 14:32   #4
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Во-первых, в jquery есть необходимый вам метод serialize.

Во-вторых, это дебилизм сначала кодировать в json на клиенте, а затем декодировать в массив на сервере, когда можно передавать данные напрямую без перекодирования.

В-третьих, ajax передаёт данные в виде строки ?atr=xx&atr2=yyy
Виталий Желтяков вне форума Ответить с цитированием
Старый 01.06.2011, 15:30   #5
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
В-третьих, ajax передаёт данные в виде строки ?atr=xx&atr2=yyy
и как посчитать количество параметров которые нужно выслать?
допустим их 3 , все ок
?atr=xx&atr2=yy&atr3=zzz
если их 50?
делать заготовку на 50 параметров аля
atr1=xx&atr2=yy&atr3=zz....atr49=&a tr50=
и сделал заготовку на 50, через меясц их стало 51, и либо дописывать, либо игнорировать 51ый параметр..
или как вы предлагаете?)
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 01.06.2011, 16:34   #6
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Оператор while ещё никто не отменял.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTML Decode kroŧ Работа с сетью в Delphi 2 26.10.2010 13:54
Работа с JSON Wayfer Работа с сетью в Delphi 3 09.07.2010 19:32
Нужно написать/исправить функцию на Delphi, Base64 encode gvm Фриланс 2 13.04.2010 18:19
Decode Yoger Общие вопросы Delphi 2 17.01.2007 14:55