![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
JSON - помогите с разбором строки [D7, XP]
Romingood © (2010-03-22 15:41:00)Привет всем!
Требуется строку вида:
"0000":{"6666":[
{"id":"11","var1":111,"str":"name1"},
{"id":"22","var1":222,"str":"name2",}]};
Конвертировать в массив вот такого вида?
gl_id=0000, gl_id2=6666, id=11, var1='111', str='name1'
gl_id=0000, gl_id2=6666, id=22, var1='222', str='name2'
Подскажите плз на примере, как всё это разобрать.
Весь сайт облазил, не нашел...
Пытался регэкспами распарсить входную строку, но у меня получается нормально выдернуть только первую строку, а вторая и т.п. уже теряют
gl_id и gl_id2 ...
sniknik (2010-03-22 19:36:00) [1]> имена начинающиеся с цифры, в javascript может быть тоже
так и есть, т.е. то что ты приводишь это не json, нельзя преобразовать в валидный обьект
а вот так можно, может поможет, хоть и на javascript
var tst = {" v000":{" v666":[
{"id":"11","var1":111,"str":"name1"},
{"id":"22","var1":222,"str":"name2",}]} };
var i, s = '';
for(i=0; i<tst.v000.v666.length; i++) {
s = s + 'gl_id=v000, gl_id2=v666, id='+tst.v000.v666[i].id+', var1='+tst.v000.v666[i].var1+', str='+tst.v000.v666[i].str + '\n';
}
alert(s);
sniknik (2010-03-22 17:51:00) [2]> встроенные здесь у меня имелось ввиду:
> голая винда, голый делфи.
> делаем project-import type library и вуаля, все что надо уже есть.
голая винда, голый делфи.
кладем модуль в папку проекта, и вуаля, все что надо уже есть.
какая разница.
> как в цикле сделать из
зачем цикл? он присваиванием должен делать.
> Приведите плз рабочий пример. неважно, на каком из Тулкитов он будет реализован.
на javascript пойдет? я именно там "разбирал" объекты, а на сервере только "собирал", и без тулкитов это было делать проще.
а "разбирается" это так, при генерации странички внутрь помещаем
var ar = "1":{"2":[{"id":"3","var1":4,"str":"5"}]};
и все, объект готов.
кстати в дельфи не позволяются имена начинающиеся с цифры, в javascript может быть тоже, я просто не пробовал.
а у тебя тут поле объекта с именем 1, 2... (и со значениями объект и массив с объектом), неважно значения но названия полей???
Romingood (2010-03-22 17:12:00) [3]to "Медвежонок Пятачок" - не, голыми руками тут не справиться, хотя штука удобная!
to "sniknik" - поверьте, я там был и всё это качал, пробовал.
Но как обычно, есть разрозненные мануалы, есть какие-то куски примеров, но так и не нашел я примера, как в цикле сделать из
"1":{"2":[{"id":"3","var1":4,"str":"5"}]};
вот что:
id=1, id2=2, id3=3, var1=4, str=5
Приведите плз рабочий пример. неважно, на каком из Тулкитов он будет реализован.
Медвежонок Пятачок (2010-03-22 16:51:00) [4]встроенные здесь у меня имелось ввиду:
голая винда, голый делфи.
делаем project-import type library и вуаля, все что надо уже есть.
не круче, "легче".
дбф тоже легче чем файл данных оракла.
нажал ф3 в фаре и все данные как на ладони. даже без плугина для дбф
sniknik (2010-03-22 16:40:00) [5]> а что, встроенных средств у этого jsonа неужели нету?
встроенных и для xml нету
> я и подумал, может он на самом деле круча чем xml
не круче, "легче". и в некоторых случаях удобнее (аякс сервер в паре с клиентом на javascript).
http://json.org/
Delphi:
* Delphi Web Utils.
* JSON Delphi Library.
* JSON Toolkit.
Медвежонок Пятачок (2010-03-22 16:32:00) [6]его тут просто так хвалили, хвалили.
я и подумал, может он на самом деле круча чем xml
Медвежонок Пятачок (2010-03-22 16:27:00) [7]а что, встроенных средств у этого jsonа неужели нету?
чтобы достать данные?
Romingood (2010-03-22 16:22:00) [8]Я так и понял :)
Тока примерчик бы. если нетрудно, плз.
Anatoly Podgoretsky (2010-03-22 15:44:00) [9]> Romingood (22.03.2010 15:41:00) [0]
Оперировать надо набором строк, от начала до терминатора ;