Mic*_*zer 7 delphi json superobject
我的服务器有以下JSON:
{
"userid":"12",
"username":"TestChar",
"logged":"yes",
"status":"Premium User",
"areas":{
"SERVICEAREA_XX1":{
"id":"1",
"area":"SERVICEAREA_XX1",
"version":"3000",
"usr_group":"0"
},
"SERVICEAREA_XX2":{
"id":"2",
"area":"SERVICEAREA_XX2",
"version":"31000",
"usr_group":"0"
},
"SERVICEAREA_XX3":{
"id":"3",
"area":"SERVICEAREA_XX3",
"version":"2000",
"usr_group":"1"
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用SuperObjects,我可以获得"SERVICEAREA"的计数
ob['areas'].AsObject.count
Run Code Online (Sandbox Code Playgroud)
我现在如何才能访问不同"SERVICEAREA"的元素?
谢谢你的帮助...
Mar*_*ema 10
您可以使用for ... in循环访问数组的元素:
var
item: ISuperObject;
begin
for item in ob['areas'] do ...
Run Code Online (Sandbox Code Playgroud)
或者没有枚举器,使用'normal'for循环:
var
idx: Integer;
item: ISuperObject;
begin
for idx := 0 to ob['areas'].AsArray.Length - 1 do
item := ob['areas'].AsArray[idx];
Run Code Online (Sandbox Code Playgroud)
马里安有你的答案.以下是有关如何使用示例访问项属性的更多信息:
var
item: ISuperObject;
...
for item in ob['areas'] do
begin
WriteLn(item['id'].AsInteger);
WriteLn(item['area'].AsString);
WriteLn(item['version'].AsInteger);
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4072 次 |
| 最近记录: |