Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

JSON - помогите с разбором строки   Найти похожие ветки 

 
Romingood ©   (2010-03-22 15:41) [0]

Привет всем!

Требуется строку вида:

"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 ...


 
Anatoly Podgoretsky ©   (2010-03-22 15:44) [1]

> Romingood  (22.03.2010 15:41:00)  [0]

Оперировать надо набором строк, от начала до терминатора ;


 
Romingood ©   (2010-03-22 16:22) [2]

Я так и понял :)
Тока примерчик бы. если нетрудно, плз.


 
Медвежонок Пятачок ©   (2010-03-22 16:27) [3]

а что, встроенных средств у этого jsonа неужели нету?
чтобы достать данные?


 
Медвежонок Пятачок ©   (2010-03-22 16:32) [4]

его тут просто так хвалили, хвалили.
я и подумал, может он на самом деле круча чем xml


 
sniknik ©   (2010-03-22 16:40) [5]

> а что, встроенных средств у этого jsonа неужели нету?
встроенных и для xml нету
> я и подумал, может он на самом деле круча чем xml
не круче, "легче". и в некоторых случаях удобнее (аякс сервер в паре с клиентом на javascript).

http://json.org/
Delphi:
   * Delphi Web Utils.
   * JSON Delphi Library.
   * JSON Toolkit.


 
Медвежонок Пятачок ©   (2010-03-22 16:51) [6]

встроенные здесь у меня имелось ввиду:
голая винда, голый делфи.
делаем project-import type library и вуаля, все что надо уже есть.

не круче, "легче".

дбф тоже легче чем файл данных оракла.
нажал ф3 в фаре и все данные как на ладони. даже без плугина для дбф


 
Romingood ©   (2010-03-22 17:12) [7]

to "Медвежонок Пятачок" - не, голыми руками тут не справиться, хотя штука удобная!

to "sniknik" - поверьте, я там был и всё это качал, пробовал.
Но как обычно, есть разрозненные мануалы, есть какие-то куски примеров, но так и не нашел я примера, как в цикле сделать из

"1":{"2":[{"id":"3","var1":4,"str":"5"}]};

вот что:

id=1, id2=2, id3=3, var1=4, str=5

Приведите плз рабочий пример.  неважно, на каком из Тулкитов он будет реализован.


 
sniknik ©   (2010-03-22 17:51) [8]

> встроенные здесь у меня имелось ввиду:
> голая винда, голый делфи.
> делаем project-import type library и вуаля, все что надо уже есть.
голая винда, голый делфи.
кладем модуль в папку проекта, и вуаля, все что надо уже есть.
какая разница.

> как в цикле сделать из
зачем цикл? он присваиванием должен делать.

> Приведите плз рабочий пример.  неважно, на каком из Тулкитов он будет реализован.
на javascript пойдет? я именно там "разбирал" объекты, а на сервере только "собирал", и без тулкитов это было делать проще.  
а "разбирается" это так, при генерации странички внутрь  помещаем
var ar = "1":{"2":[{"id":"3","var1":4,"str":"5"}]};

и все, объект готов.
кстати в дельфи не позволяются имена начинающиеся с цифры, в javascript может быть тоже, я просто не пробовал.
а у тебя тут поле объекта с именем 1, 2... (и со значениями объект и массив с объектом), неважно значения но названия полей???


 
sniknik ©   (2010-03-22 19:36) [9]

> имена начинающиеся с цифры, в 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);



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.076 c
15-1265037737
12
2010-02-01 18:22
2010.08.27
Переставить местами 2 числа.


2-1271533393
Kukulkan
2010-04-17 23:43
2010.08.27
ADOQuery + SQL-выборка по дате!!!


15-1268832302
Константин
2010-03-17 16:25
2010.08.27
Построение оптимальной среды управления версиями


15-1259160570
Игорь Шевченко
2009-11-25 17:49
2010.08.27
Желающие поговорить о лженауке - милости прошу


15-1266622204
Юрий
2010-02-20 02:30
2010.08.27
С днем рождения ! 20 февраля 2010 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский