powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Распарить JSON
4 сообщений из 4, страница 1 из 1
Распарить JSON
    #39520502
venza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется:
Код: html
1.
{"id":906,"div":[["0.16452000","650.08950512"],["0.16500000","22.99399000"],["0.17803000","10.00000000"],["0.17803000","39.47457000"],["0.17820000","8.80508000"],["0.17876000","9.09830000"],["0.17903000","145.57453000"],["0.19000000","59.25000000"],["0.21499000","24.57474000"],["0.21500000","575.35135000"]],"core":[["0.08005000","150.00000000"],["0.08000000","182.69789000"],["0.07501000","51.89964000"],["0.07500000","4710.89868314"],["0.07500000","50.00000000"],["0.07000000","10000.00000000"],["0.07000000","9.32635000"],["0.01010000","500.00000000"],["0.01010000","175.17774000"],["0.00100000","998.20323000"]]}



Пытаюсь распасить так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
var
  Json,Json1,Json2: TJSONObject;
  Jarr : TJSONArray;
  Jobj : TJSONObject;
  i, ix, Row : integer;
begin



          Json:=TJSONObject.ParseJSONValue(edit1.Text) as TJSONObject;
           memo1.Lines.Add(JSON.Get('div').JsonValue.ToString);
           Jarr:=json1.Get('div').JsonValue as TJSONArray;
          Json2:=Jarr.Get(0) as    TJSONObject;
          Memo1.Lines.Add(JSON2.Get(0).JsonValue.ToString);
end;



Нужно добраться до значений 0.16452000 и 650.08950512 и т.д
Парсить хочу стандартными методами, без разбора текста по символам...
...
Рейтинг: 0 / 0
Распарить JSON
    #39524584
Sh2kerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
venza,

Выбросьте стандартный компонент и используйте XSuperObject .
...
Рейтинг: 0 / 0
Распарить JSON
    #39524631
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
venza,
так сходу, без проверки -
Код: pascal
1.
2.
3.
4.
5.
var Json2: TJSonPair

Json2:=Jarr.Get(0) as    TJSONObject;
//заменить на
Json2:=Jarr.Get(0) as TJSonPair;
...
Рейтинг: 0 / 0
Распарить JSON
    #39524935
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
venzaНужно добраться до значений 0.16452000 и 650.08950512 и т.д

https://github.com/hgourvest/superobject

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var
  obj: ISuperObject;
  s: string;
  d: double;
begin
  obj := SO('{"id":906,"div":[["0.16452000","650.08950512"], ..... ');
  obj := obj['div[0][1]'];
  s := obj.AsString;
  d := obj.AsDouble;
  obj := nil;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Распарить JSON
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]