SuperObject

SuperObject第三方控件包,试用了下并编写了个DEMO,发现还是蛮强大。废话 少说,看看下面的代码就知道其强大:
1、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
    },
    {
      "name": "张承",
      "age": "11",
      "sex": false
    }
  ]
}

2、获取某个域内容,比如名称,代码如下:
var
  jo: ISuperObject;
begin
  jo := TSuperObject.ParseString(PWideChar(mmo.Text),false);
  ShowMessage('name:'+jo['name'].AsString);
  //也可以采用以下方式实现
  //jo := SO(PWideChar(mmo.Text));
  //ShowMessage('message:'+jo['message'].AsString);
end;

3、获取嵌套对象,比如地址和邮编
var
  jo: ISuperObject;
begin
  jo := TSuperObject.ParseString(PWideChar(mmo.Text),false);
  ShowMessage('地址:'+jo['addresses.address'].AsString+',邮编:'+jo['addresses.pc'].AsString);
end;

4、解析子记录
var
  i: integer;
  jo: ISuperObject;
  ja: TSuperArray;
begin
  jo := TSuperObject.ParseString(PWideChar(mmo.Text),false);
  ShowMessage('记录:'+jo['children'].AsString);

ja := jo['children'].AsArray;
  for i:=0 to ja.Length-1 do
  ShowMessage(ja['name'].AsString);
end;

SuperObject使用的更多相关文章

  1. XE3随笔6:SuperObject 的 JSON 对象中还可以包含 "方法"

    SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: IS ...

  2. XE随想4:SuperObject增、删、改

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  3. Delphi7下SuperObject的JSON使用方法

    uses superobject; procedure TForm1.FormCreate(Sender: TObject); var aJson: ISuperObject; aSuperArray ...

  4. JSON 之 SuperObject(10): Merge、Clone、ForcePath

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  5. JSON 之 SuperObject(9): TSuperType

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  6. JSON 之 SuperObject(8): 关于乱码的几种情况 - 向 Henri Gourvest 大师报告

    这几天学习 JSON - SuperObject, 非常幸运地得到了其作者 Henri Gourvest 大师的同步指点! (Henri 大师也是 DSPack 和 GDI+ 头文件的作者; 大师是法 ...

  7. JSON 之 SuperObject(6): 方法

    SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: IS ...

  8. JSON 之 SuperObject(7): 可以省略的双引号

    在 JSON 中, 字符串应该在双引号中; 从上个例子才发现: 原来这个双引号可以省略, 有空格都行 当然只是在程序代码中可以省略, 对象会自动识别添加的. 即如此, 下面写法都可以: uses Su ...

  9. JSON 之 SuperObject(4): 增、删、改

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  10. JSON 之 SuperObject(5): Format 与转义字符

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

随机推荐

  1. sudo执行脚本找不到环境变量解决方法

    问题: 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本, 然后再sudo执行脚本,就找不到变量,未能获取到值. 原因 sud ...

  2. javascript实现打印功能

    <input name="b_print" type="button" class="ipt" onClick="print ...

  3. UIView 坐标转换

    例子1 Controller的view中有一个tableView,tableView的cell上有一个button,现在需要将button的frame转为在Controller的view中的frame ...

  4. 集成学习AdaBoost算法——学习笔记

    集成学习 个体学习器1 个体学习器2 个体学习器3   ——> 结合模块  ——>输出(更好的) ... 个体学习器n 通常,类似求平均值,比最差的能好一些,但是会比最好的差. 集成可能提 ...

  5. MySQL--执行mysql脚本及其脚本编写

    http://www.cnblogs.com/kex1n/archive/2010/03/26/2286504.html

  6. Ubuntu执行su后输入密码结果认证失败--解决办法:sudo passwd修改命令

  7. Java Web项目BlogAutoGenerator编写日志1

    使用的数据库是MySQL,所以首先要在MySQL中创建database和表.建立数据库article_db,建立表blog,如下: create database article_db DEFAULT ...

  8. Mybatis框架中Mapper文件传值参数获取。【Mybatis】

    1.参数个数为1个(string或者int) dao层方法为以下两种: /** * 单个int型 */ public List<UserComment> findByDepartmentI ...

  9. 关于Win7 x64下过TP保护(应用层)(转)

    非常感谢大家那么支持我上一篇教程.Win10 快出了,所以我打算尽快把应用层的部分说完. 调试对象:DXF调试工具:CE.OD.PCHunter.Windbg调试先言:TP的应用层保护做得比较多,包括 ...

  10. [黑金原创教程] FPGA那些事儿《设计篇 II》- 图像处理前夕·续

    简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, ...