|
|
|
Разбор Json в Delphi7
|
|||
|---|---|---|---|
|
#18+
Доброй ночи! Избитая тема уже, но вот опять вопрос! Delphi7, получаю JSon-строку из 1С. Там формат простой и стандартный. Нужно разобрать полученные данные, а дальше обработать их, загрузить, обновить... Вот формат данных (массив записей): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вроде все просто. Берем SuperObject. Но он такую структуру не разбирает. Ему нужно это все обернуть в {"Units": тут то что выше. } т.е. дать название массива. Хотелось бы не изменять переданные структуры. Можно обойтись в Delphi7 чем-то простым и эффективным для данного случая? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2021, 02:42 |
|
||
|
Разбор Json в Delphi7
|
|||
|---|---|---|---|
|
#18+
Dmvrt Берем SuperObject. Но он такую структуру не разбирает. Разбирает. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2021, 03:12 |
|
||
|
Разбор Json в Delphi7
|
|||
|---|---|---|---|
|
#18+
Видимо я не совсем понимаю работу SuperObject. Подскажите procedure TForm1.Button1Click(Sender: TObject); var s: string; aO: ISuperObject; begin s := '{"ww":[' + ' {' + ' "ID": "359",' + ' "UnitID": "сут",' + ' "UnitName": "Сутки",' + ' "IsDel": 0' + ' },' + ' {' + ' "ID": "349",' + ' "UnitID": "Кл/кг",' + ' "UnitName": "Кулон на килограмм",' + ' "IsDel": 1' + ' }' + ' ]}'; aO := SO(s); ShowMessage(aO.A['ww'].O[0].S['ID']); end; на экране 359 Это получается обращение к именованному массиву, а к не именованному как обратиться? procedure TForm1.Button1Click(Sender: TObject); var s: string; aO: ISuperObject; begin s := '[' + ' {' + ' "ID": "359",' + ' "UnitID": "сут",' + ' "UnitName": "Сутки",' + ' "IsDel": 0' + ' },' + ' {' + ' "ID": "349",' + ' "UnitID": "Кл/кг",' + ' "UnitName": "Кулон на килограмм",' + ' "IsDel": 1' + ' }' + ' ]'; aO := SO(s); ShowMessage(aO.A[??????].O[0].S['ID']); end; ????? - что там указать, пробовал '' - ошибка. Уточню, мне нужно пройти по всем записям массива и считать каждое свойство. и если не трудно, есть ли свойство - сколько записей всего в массиве? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2021, 04:02 |
|
||
|
Разбор Json в Delphi7
|
|||
|---|---|---|---|
|
#18+
Dmvrt, .AsArray.Length - длина массива. .A[i] - i-й элемент массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2021, 06:27 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40033758&tid=2037724]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 427ms |

| 0 / 0 |
