我是 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;
任何建议将不胜感激。花了很长时间试图在 Delphi 中了解 JSON 的来龙去脉,但无济于事。
谢谢,斯芬克斯