测试数据如下:

Memo1.text中的数据:

{
"date":"周二(今天, 实时:12℃)",
"dayPictureUrl":"http://api.map.baidu.com/images/weather/day/duoyun.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/duoyun.png",
"weather":"多云",
"wind":"北风微风",
"temperature":"15 ~ 6℃"
}

Memo2.text中的数据:

{
"success":"true",
"appId":"9",
"data":[

{
"itemId":"536273259873","title":"\u52A0\u7ED2\u52A0\u539A\u54FA\u4E73\u5916\u51FA\u536B\u8863"
},
{
"itemId":"539867455759","title":"\u5C0F\u7EA2\u978B\u60C5\u4FA3\u8FD0\u52A8\u4F11\u95F2\u978B\u68C9\u978B"
}

]
}

..............

uses DBXJSON, DBXJSONCommon, DBXJSONReflect;

...............

procedure TForm1.Button1Click(Sender: TObject);
var
JO: TJSONObject;
StrJson: String;
LJPair: TJSONPair;
begin
StrJson := Memo1.Text;
JO := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(StrJson),
0) as TJSONObject;

ShowMessage(JO.Get('date').JsonValue.Value);
ShowMessage(JO.Get(3).JsonValue.Value);

for LJPair in JO do
begin //遍历 {..} 中的数据
ShowMessage(LJPair.JsonValue.Value);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
JO,Jo2: TJSONObject;
StrJson: String;
LJPair: TJSONPair;
elementCount: Integer;
i: Integer;
JA: TJSONArray;
begin
elementCount:=0;
StrJson := Memo2.Text;
JO := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(StrJson),
0) as TJSONObject;

ShowMessage((JO.Get('success').JsonValue as TJSONTrue).ToString);
ShowMessage(JO.Get(1).JsonValue.Value);

for LJPair in JO do
begin //遍历 {..} 中的数据
// ShowMessage(LJPair.JsonValue.Value);
if LJPair.JsonValue is TJSONArray then
begin
JA:=LJPair.JsonValue as TJSONArray;
elementCount:= JA.Size;
showmessage(inttostr(elementCount));
for i := 0 to elementCount-1 do
begin
Jo2:= JA.Get(i) as TJSONObject;
if Jo2 is TJSONObject then
begin
ShowMessage(Jo2.Get('itemId').JsonValue.Value);
ShowMessage(Jo2.Get('title').JsonValue.Value);

end;

end;
end;
end;

end;

delphi XE3解析JSON数据的更多相关文章

  1. Delphi中使用ISuperObject解析Json数据

    Java.Php等语言中都有成熟的框架来解析Json数据,可以让我们使用很少的代码就把格式化好的json数据转换成程序可识别的对象或者属性,同时delphi中也有这样的组件来实现此功能,即Isuper ...

  2. 使用Python解析JSON数据的基本方法

    这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下:     ----------------------------------- ...

  3. 使用jQuery解析JSON数据

    我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. 上例中得到的JSON数据如下,是一个嵌套JSON: {"comments&quo ...

  4. [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")

    javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢?   原因在于: ...

  5. 用jquery解析JSON数据的方法以及字符串转换成json的3种方法

    用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是 json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject ...

  6. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  7. fastjson生成和解析json数据,序列化和反序列化数据

    本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...

  8. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  9. JSONKit解析json数据

    先将第三方文件拖进工程 JSONKit.h和JSONKit.m 然后设置在ARC工程中添加MRC文件,如下图所示 #import "ViewController.h" #impor ...

随机推荐

  1. Hanlp中文自然语言处理入门介绍

    自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分.这个星球上有许多生物拥有超过人类的视 ...

  2. 【python】class之类属性

    class Foo(object): x=1.5 foo=Foo() print foo.x#通过实例访问类属性 >>>1.5 print Foo.x #通过类访问类属性 >& ...

  3. iotBaidu问题小结

    1.后台程序不能正常运行: d:\>java -jar MqttService.jar Exception in thread "main" java.lang.Securi ...

  4. java IO切割流合并流

    切割流,将一个较大的文件,切割成多个小文件存储

  5. PHP CI框架如何去掉 sql 里的反引号

    在使用CI框架的时候, 经常的Active Record 类,这时候会出现一个问题 使用Active Record 类组成的sql 中,为了防止sql注入,会自动的在表名,字段名 自动添加反引号 当然 ...

  6. iview-admin打包笔记

    在程序根目录右键打开cmd,输入 npm run build 这时就会进入打包的步骤,打包好之后就会在程序根目录出现一个dist的文件夹,里面有一个index.html文件和另一个dist的文件夹. ...

  7. 开源框架:Apache的DBUtils框架

    开源框架:Apache的DBUtils框架 Commons DbUtils 1.4 API 开源框架:DBUtils使用详解 Download Apache Commons DbUtils  官方文档

  8. shell 10流程控制

    if 判断 if #shell #!/bin/sh a=5 if [[ $a > 3 ]];then echo "$a>3" fi #写成一行 if [[ $a < ...

  9. Linux下查看系统版本号信息的方法(转载)

    原文出处  http://www.ha97.com/2987.html 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux v ...

  10. [UE4]roll pitch yaw

    UE4中的定义: 一.Roll,绕着X轴旋转的角度 二.Pitch,绕着Y轴旋转的角度 三.Yaw,绕着Z轴旋转的角度 Rotator 一.(Roll,Pitch,Yaw) 二.Rotator(0,0 ...