利用SuperObject 循环处理Json深层次的值
来源:互联网 发布:网络电台软件 编辑:程序博客网 时间:2024/05/29 03:18
<pre name="code" class="delphi">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、GetValuesbegin 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格式如下
{ "name": "张三", "age": 33, "sex": true, "weight": 123.456, "tel": [ "86-1111111", "86-2222222" ], "addresses": { "address": "A省B市", "pc": "100001" }, "children": [ { "name": "张继", "age": "22", "sex": true, "M_TYPE": [ { "MACHINE_TYPE": 1, "MACHINE_NAME": "传统", "MACHINE": [ { "MACHINE_NO": "26088", "STATUS": 2, "BALANCE": 12.3 } ] }, { "MACHINE_TYPE": 2, "MACHINE_NAME": "竞彩", "MACHINE": [{ "MACHINE_NO": "26093", "STATUS": 1, "BALANCE": 100.22 } ] } ] }, { "name": "张承", "age": "11", "sex": false, "M_TYPE": [ { "MACHINE_TYPE": 3, "MACHINE_NAME": "传统", "MACHINE": [{"MACHINE_NO": "26038", "STATUS": 3, "BALANCE": 1300.5} ] } ] } ]}
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;"></span></span>
0 0
- 利用SuperObject 循环处理Json深层次的值
- SuperObject的JSON使用方法
- Delphi7下SuperObject的JSON使用方法
- JSON利用superobject进行资料交换及重新封装ClientDataSet
- delphi superobject循环节点
- JSon SuperObject 研究
- JSON 之 SuperObject(1)
- JSON 之 SuperObject(1)
- delphi的开源json库:superobject,用法简介
- delphi的开源json库:superobject,用法简介
- JSON 之 SuperObject(7): 可以省略的双引号
- delphi的开源json库:superobject,用法简介
- JSON 之 SuperObject(3): 访问
- JSON 之 SuperObject(6): 方法
- JSON 之 SuperObject(9): TSuperType
- JSON 之 SuperObject(3): 访问
- SuperObject
- 利用org.json处理获得的json数据
- CentOS上Oracle 11gR2创建数据库
- jdk动态代理和CGlib动态代理
- CALayer 的简单使用
- GOOD_JSTL配置问题:According to TLD or attribute directive in tag file
- mark 一下,可能用得到
- 利用SuperObject 循环处理Json深层次的值
- LeetCode 96 Unique Binary Search Trees 解题报告
- 用 Python 脚本实现对 Linux 服务器的监控
- 2778: 数据结构练习题——分油问题
- java异常整理
- 更改chromium标签栏风格
- tomcat如何配置环境变量
- 还是要iyishi啊 不然就废了
- 黑马程序员——多线程(线程间通信)