//遍历对象
procedure TForm1.Button5Click(Sender: TObject);
var
item,jo: ISuperObject;
ja,JA_TYPE,JA_MAC:TSuperArray; //json数组
i,j,k:Integer;
jts: TSuperTableString; //TSuperTableString 的常用属性: count、GetNames、GetValues
begin
jo := SO(Memo1.Text);
jts:=jo.AsObject;
mmo1.Lines.Add(‘结点数:‘+IntToStr(jts.count ));
mmo1.Lines.Add(‘键名:‘+jts.GetNames.AsString);
mmo1.Lines.Add(‘键值:‘+jts.GetValues.AsString);
jts:=jo[‘addresses‘].AsObject;
mmo1.Lines.Add(‘结点数:‘+IntToStr(jts.count ));
mmo1.Lines.Add(jts.GetNames.AsString);
mmo1.Lines.Add(‘键值:‘+jts.GetValues.AsString);
jts:=jo.A[‘children‘].N[0].AsObject;
mmo1.Lines.Add(‘结点数:‘+IntToStr(jts.count ));
mmo1.Lines.Add(jts.GetNames.AsString);
mmo1.Lines.Add(‘键值:‘+jts.GetValues.AsString);
jts:=jo.A[‘children‘].N[0].A[‘M_TYPE‘].N[0].AsObject;
mmo1.Lines.Add(‘结点数:‘+IntToStr(jts.count ));
mmo1.Lines.Add(jts.GetNames.AsString);
mmo1.Lines.Add(‘键值:‘+jts.GetValues.AsString);
jts:=jo.A[‘children‘].N[0].A[‘M_TYPE‘].N[0].A[‘MACHINE‘].N[0].AsObject;
mmo1.Lines.Add(‘结点数:‘+IntToStr(jts.count ));
mmo1.Lines.Add(jts.GetNames.AsString);
mmo1.Lines.Add(‘键值:‘+jts.GetValues.AsString);
ja:=jo.A[‘children‘]; //等同 ja:=jo.O[‘children‘].AsArray;
for i := 0 to ja.Length-1 do
begin
mmo1.Lines.Add(‘店主:‘+ja.O[i].s[‘name‘]); //区分大小写
JA_TYPE:=ja.O[i].O[‘M_TYPE‘].AsArray;
for j := 0 to ja_type.Length-1 do
begin
mmo1.Lines.Add(‘出票类型:‘+IntToStr(JA_TYPE.O[j].I[‘MACHINE_TYPE‘]));
mmo1.Lines.Add(‘出票类型名:‘+JA_TYPE.O[j].s[‘MACHINE_NAME‘]);
JA_MAC:=JA_TYPE.O[j].O[‘MACHINE‘].AsArray;
for k := 0 to ja_mac.Length-1 do
begin
mmo1.Lines.Add(‘机器编号:‘+JA_MAC.O[k].s[‘MACHINE_NO‘]);
mmo1.Lines.Add(‘机器状态:‘+IntToStr(JA_MAC.O[k].I[‘STATUS‘]));
mmo1.Lines.Add(‘机器余额:‘+FloatToStr(JA_MAC.O[k].D[‘BALANCE‘]));
end;
end;
end;
// for item in jo do ShowMessage(item.AsJSon(False, False));
end;
//Json 格式如下
原文:http://www.cnblogs.com/rogge7/p/4372295.html