Показать сообщение отдельно
  #1  
Старый 22.03.2010, 16:33
romingood romingood вне форума
Прохожий
 
Регистрация: 26.02.2010
Сообщения: 36
Репутация: 9
Радость Парсер строки - JSON или RegExp? Хелп!

Всем привет!

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

"555555":{"15":[{"cid":"00000","var1":00000,"var2":00000,"str":"na me1"},{"cid":"11111","var1":11111,"var2":11111,"st r":"name2"},{"cid":"22222","var1":22222,"var2":222 22,"str":"name3"}]},

Выдернуть массив строк вот в каком виде:

main_id=555555,sec_id=15, cid=00000, var1=00000, var2=00000, str=name1
main_id=555555,sec_id=15, cid=11111, var1=11111, var2=11111, str=name2
cmain_id=555555,sec_id=15, id=22222, var1=22222, var2=22222, str=name3

и так по всей строке, там этих вхождений куча.
Интересуют только данные, находящиеся между [ ]
ну, и ессно main_id и sec_id.

Если проще это сделать с помощью Json, дайте маленький пример, как вообще в цикле обратиться к этой куче мале?
Я пытался использовать TlkJSON.ParseText(s), вроде че-то он выводит, но я не понимаю структуру дерева, чтобы обратиться к каждой переменной.

А если проще с помощью RegExp, то дайте мне плиз пример,
преобразующий строку

"555555":{"666":[{"cid":"00000"},{"cid":"11111"},{"cid":"22222"} ]}

в массив такого вида:

main_id=555555,sec_id=666, cid=00000
main_id=555555,sec_id=666, cid=11111
cmain_id=555555,sec_id=666, id=22222

то есть у меня проблема в том, что я только первую строку отлавливаю, а все последующие строки у меня теряют две важные составляющих, к которым они принадлежат - это main_id и sec_id.

По JSON я почитал инфу, но пока не пойму, как из под Дельфи обратиться к дереву переменных и правильно его распарсить в массив.

Помогите, плз. может книжки какие есть или примеры. всему буду рад.
Спасибо!
Ответить с цитированием