我是JSON的新手,我手上有这个项目,需要我解析一个JSON并在ListView中显示它的一些内容.问题是我现在阅读的文档处理的是包含JSON数组的JSON对象,而我的案例涉及处理嵌套对象.简而言之,这里是摘要:我正在使用带有DBXJSON的Delphi XE2.我将一些值发布到服务器,并使用看起来像这样的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
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是将每个项目(即Purse)解析并添加为listview中的标题,以及一个子项目(制造商).我创建了一个以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 …
Run Code Online (Sandbox Code Playgroud) Delphi似乎有一些JSON选项 - 是否有推荐的库用于XE2?我正在寻找Delphi XE2和PHP Web应用程序之间的对象共享.(以兼容的方式为PHP Web应用程序序列化和发布delphi对象,并从宁静的PHP调用到delphi服务器端进行反序列化)
试图了解Delphi中的JSON.使用模块"DBXJSON.pas".如何使用它来制作这样一个数组:
Array:[
{"1":1_1,"1_2_1":1_2_2},
...,
]
Run Code Online (Sandbox Code Playgroud)
这样做:
JSONObject:=TJSONObject.Create;
JSONArray:=TJSONArray.Create();
...
JSONArray.AddElement(TJSONObject.Create(TJSONPair.Create('1','1_1')));
JSONArray.AddElement(TJSONObject.Create(TJSONPair.Create('1_2_1','1_2_2')));
JSONObject.AddPair('Array',JSONArray);
Run Code Online (Sandbox Code Playgroud)
,但得到这个:
{
"Array":[
{"1":"1_1"},{"1_2_1":"1_2_2"}
]
}
Run Code Online (Sandbox Code Playgroud)
请帮忙!谢谢!
我正在为复杂的应用程序编写一个模块,我的模块应该处理由Web服务器返回的json响应.所以,我的问题是如何解码这种文本:
\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438, \u0438\u043c\u0435\u043d\u0438 (\u043e\u0442\u0447\u0435\u0441\u0442\u0432\u0443
Run Code Online (Sandbox Code Playgroud)
它是西里尔文本,Mozilla Firefox应该显示它.我该如何处理这些人?我在Delphi 2010上.