Я новичок в JSON, и у меня есть этот проект, который требует от меня разбора JSON и отображения части его содержимого в ListView. . Проблема в том, что документация, которую я уже читал, касается объектов JSON, содержащих массивы JSON, в то время как в моем случае речь идет о вложенных объектах. Короче говоря, вот резюме: я использую Delphi XE2 с DBXJSON. Я отправляю некоторые значения на сервер, и он отвечает объектом JSON, который выглядит следующим образом:
{
"products": {
"Men's Sneakers": {
"instock": false,
"size": "423",
"manufacturer": "Adidas",
"lastcheck": "20120529"
},
"Purse": {
"instock": true,
"size": "not applicable",
"manufacturer": "Prada",
"lastcheck": "20120528"
},
"Men's Hood": {
"instock": false,
"size": "M",
"manufacturer": "Generic",
"lastcheck": "20120529"
}
},
"total": 41,
"available": 30
}
Я хотел добиться того, чтобы каждый элемент (например, кошелек) анализировался и добавлялся в качестве заголовка в список вместе с одним подэлементом ( производитель). Я создал процедуру, которая принимает строку JSON в качестве аргумента, создал объект JSON, но я не знаю, как дальше анализировать вложенные объекты.
procedure TForm1.ParseString(const AString: string);
var
json : TJSONObject;
jPair : TJSONPair;
jValue : TJSONValue;
jcValue : TJSONValue;
l,i : Integer;
begin
json := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(AString),0) as TJSONObject;
try
//get the pair to evaluate in this case the index is 1
jPair := json.Get(1);
{further process the nested objects and adding them to the listview}
finally
json.Free;
end;
end;
Будем признательны за любые предложения. Потерял довольно много времени, пытаясь получить все тонкости JSON в Delphi, но безрезультатно.
Спасибо, сфинкс