//遍历对象
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 格式如下

 

  1. {
  2. "name": "张三",
  3. "age": 33,
  4. "sex": true,
  5. "weight": 123.456,
  6. "tel": [ "86-1111111", "86-2222222"  ],
  7. "addresses": {
  8. "address": "A省B市",
  9. "pc": "100001"
  10. },
  11. "children": [
  12. {
  13. "name": "张继",
  14. "age": "22",
  15. "sex": true,
  16. "M_TYPE": [
  17. {
  18. "MACHINE_TYPE": 1,
  19. "MACHINE_NAME": "传统",
  20. "MACHINE": [ { "MACHINE_NO": "26088", "STATUS": 2, "BALANCE": 12.3 }  ]
  21. },
  22. {
  23. "MACHINE_TYPE": 2,
  24. "MACHINE_NAME": "竞彩",
  25. "MACHINE": [{ "MACHINE_NO": "26093", "STATUS": 1, "BALANCE": 100.22 } ]
  26. }
  27. ]
  28. },
  29. {
  30. "name": "张承",
  31. "age": "11",
  32. "sex": false,
  33. "M_TYPE": [
  34. {
  35. "MACHINE_TYPE": 3,
  36. "MACHINE_NAME": "传统",
  37. "MACHINE": [{"MACHINE_NO": "26038", "STATUS": 3, "BALANCE": 1300.5} ]
  38. }
  39. ]
  40. }
  41. ]
  42. }

最新文章

  1. WebUtils-网络请求工具类
  2. [从产品角度学EXCEL 02]-EXCEL里的树形结构
  3. SSIS Design2:增量更新
  4. 读书笔记---PMBOK第五版官方中文版
  5. C++Primer快速浏览笔记-类型转换
  6. Java的集合框架
  7. [实战]MVC5+EF6+MySql企业网盘实战(27)——应用列表
  8. 【转】armeabi和armeabi-v7a
  9. iOS View的Frame和bounds之区别,setbounds使用(深入探究)
  10. Swift互用性:与 Objective-C 的 API 交互(Swift 2.0版更新)-备
  11. python 数字类型
  12. HTML::Entities 编码或解码 HTML 实体的字符串
  13. 基于java自身技术实现消息方式的系统间通信
  14. mxGraph进阶(一)mxGraph教程-开发入门指南
  15. nginx、php-fpm默认配置与性能–TCP socket还是unix domain socket【转】
  16. 配置https and http2 local本地开发环境
  17. Java 静态代码的作用
  18. JS调用模式
  19. win10和ubuntu16.04双系统Geom Error
  20. Bad owner or permissions on $HOME/.ssh/config

热门文章

  1. 【Git】笔记1
  2. 51nod 1117 聪明的木匠 (哈夫曼树)
  3. GoF23种设计模式
  4. SSH详解
  5. oracle 的PACKAGE恢复过程
  6. Linux解决关闭终端后终止服务问题
  7. ShareSdk使用心得
  8. js对象
  9. ListView介绍
  10. HTTP 请求头中的 X-Forwarded-For