|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.06.2011, 09:29 | #1 |
Форумчанин
Регистрация: 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; кто подскажет есть ли такие преобразователи и если есть где их взять\почитать
думай как баг, действуй как баг, и ты найдешь баг )
|
01.06.2011, 12:21 | #2 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Зачем?
Отправляйте на сервер данные сразу в виде строки ?atr=xx&atr2=yyy |
01.06.2011, 13:43 | #3 | |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
Цитата:
там аякс) структура аля список чекбоксов 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 ушло аяксом на сервер. и как вы придлагаете можно поделать, но списков много и заранее нельзя узнать сколько чекбоксов в них будет и сколько придется перебрать на предмет значений.
думай как баг, действуй как баг, и ты найдешь баг )
|
|
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 | |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
Цитата:
допустим их 3 , все ок ?atr=xx&atr2=yy&atr3=zzz если их 50? делать заготовку на 50 параметров аля atr1=xx&atr2=yy&atr3=zz....atr49=&a tr50= и сделал заготовку на 50, через меясц их стало 51, и либо дописывать, либо игнорировать 51ый параметр.. или как вы предлагаете?)
думай как баг, действуй как баг, и ты найдешь баг )
|
|
01.06.2011, 16:34 | #6 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Оператор while ещё никто не отменял.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |