json视图工具:http://www.bejson.com/jsonviewernew/

一、Json格式化,(看到数组里面又有数组一下子疑问不是合格json):尾门地址查询:

=>=>=>

{
"Addresses": [
"广东省 中山市 火炬开发区 在伟盛路附近 距离顷九327米",
"广东省 中山市 火炬开发区 在伟盛路附近 距离顷九327米"
],
"Points": [
{
"x": 113.456021761023,
"y": 22.5737174302826
},
{
"x": 113.456021761023,
"y": 22.5737174302826
}
],
"Places": [
[
"测试区域",
"su"
],
[
"测试区域",
"su"
]
]
}
procedure TForm10.btn1Click(Sender: TObject);
var
Jsonstr: string;
json: ISuperObject;
jsonAddress, jsonPlaceArray, jsonplace: TSuperArray;
i, j: Integer;
begin
Jsonstr := '{"Addresses":["广东省 中山市 火炬开发区 在伟盛路附近 距离顷九327米","广东省' +
'中山市 火炬开发区 在伟盛路附近 距离顷九327米"],"Points":[{"x":113.456021761023,"y":22.5737174302826},'
+ '{"x":113.456021761023,"y":22.5737174302826}],"Places":[["测试区域","su"],["测试区域","su"]]}'; json := SO(Jsonstr);
jsonAddress := json.A['Addresses']; // json.O['Addresses'].AsArray;
jsonPlaceArray := json.O['Places'].AsArray;
for i := to jsonPlaceArray.Length - do
begin
jsonplace := jsonPlaceArray.O[i].AsArray;
for j := to jsonplace.Length - do
begin
mmo1.Lines.Add(jsonplace.S[j]);
end;
end;
end;

处理代码

二、空调检测json结果:

=>=>=>

=>

{
"ACCResultList": [
{
"ACResultList": [
{
"ACOpenTime": "2015-12-22 10:15:16",
"ACCloseTime": "2015-12-22 11:16:16"
},
{
"ACOpenTime": "2015-12-22 13:15:16",
"ACCloseTime": "2015-12-22 13:16:16"
}
],
"AnalyzeAccOpenTime": "2015-12-22 9:00:00",
"AnalyzeAccCloseTime": "2015-12-22 14:00:00"
},
{
"ACResultList": [
{
"ACOpenTime": "2015-12-22 17:15:16",
"ACCloseTime": "2015-12-22 18:16:16"
},
{
"ACOpenTime": "2015-12-22 18:25:16",
"ACCloseTime": "2015-12-22 19:16:16"
}
],
"AnalyzeAccOpenTime": "2015-12-22 17:00:00",
"AnalyzeAccCloseTime": "2015-12-22 20:00:00"
}
],
"AnalyzeCarStopStatusStartTime": "2015-12-22 9:00:00",
"AnalyzeCarStopStatusEndTime": "2015-12-22 22:00:00",
"CommNo": "232321",
"AnalyzeCarSpeedLat": 2322112,
"AnalyzeCarSpeedLon": 0
}
procedure TForm10.btn2Click(Sender: TObject);
var
Jsonstr: String;
ACCResultArray: TSuperArray;
ACArray: TSuperArray;
i, j: Integer;
jsonNode:ISuperObject;
begin
// Jsonstr :=
// '{"ACCResultList":[{"ACResultList":[{"ACOpenTime":"2015-12-22 10:15:16","ACCloseTime":"2015-12-22 11:16:16"},'
// +'{"ACOpenTime":"2015-12-22 13:15:16","ACCloseTime":"2015-12-22 13:16:16"}]"AnalyzeAccOpenTime":"2015-12-22'+
// ' 9:00:00","AnalyzeAccCloseTime":"2015-12-22 14:00:00"},'
// +'{"ACResultList":[{"ACOpenTime":"2015-12-22 17:15:16","ACCloseTime":"2015-12-22 18:16:16"},'
// +'{"ACOpenTime":"2015-12-22 18:25:16","ACCloseTime":"2015-12-22 19:16:16"}],"AnalyzeAccOpenTime":"2015-12-22 '
// +'17:00:00","AnalyzeAccCloseTime":"2015-12-22 20:00:00"}],"AnalyzeCarStopStatusStartTime":"2015-12-22'
// +' 9:00:00","AnalyzeCarStopStatusEndTime":"2015-12-22 22:00:00","CommNo":"232321","AnalyzeCarSpeedLat":2322112,"AnalyzeCarSpeedLon":0}';
//此处发现两个情况,如果json数据放在 Memo中有空格回车键,转成string 转成不了 json对象;删除空格键可以
//2 string 拼接成一条也转成不了。如上屏蔽的拼接 不成功。
jsonNode := SO(mmo1.Lines.CommaText);
ACCResultArray := jsonNode.A['ACCResultList'];
// 或者类似这样 jsonNode.O['ACCResultList'].AsArray; for i := to ACCResultArray.Length - do
begin
ACArray := ACCResultArray.O[i].A['ACResultList']; //这样也可以ACCResultArray.O[i].O['ACResultList'].AsArray;
for j := to ACArray.Length - do
begin
mmo1.Lines.Add( ACArray.O[j].S['ACOpenTime']);
mmo1.Lines.Add(ACArray.O[j].S['ACCloseTime']);
end;
end;
end;

测试代码

个人总结:数组[] 里面的并列对象不可以有名字(因为是并列的,有不同名字就不是同样的了);Json 最外面的{} 前不可以有名字(如 "A":{}是不允许的);对象{}里面的对象前都必须要有名字; 不知道是否有问题。

例子1测试页:http://121.12.249.239:35080/arcgis/rest/services/PlaceService/MapServer/exts/PlaceServiceSOE/GetAddressAndPlace?groupid=156&points=%5B%7Bx%3A113.456021761023%2C+y%3A22.5737174302826%7D%5D&f=html 

Json格式示意图的更多相关文章

  1. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  2. WebApi返回Json格式字符串

    WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在 ...

  3. 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据

    有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...

  4. asp.net dataTable转换成Json格式

    /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...

  5. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  6. ajax提交数据到java后台,并且返回json格式数据前台接收处理值

    1.前台html页面.有一段代码如下: 账  户:  <input type="text" name="userName" id="userN& ...

  7. Struts2返回json格式数据踩坑记录

    事件起因 昨天提测修改冻结/解冻银行卡样式的功能,微姐测试过程中发现调用ajax请求耗时过长,今天来排查,发现浏览器请求/finance/ajax/freeze/ajaxGetShopLists时,对 ...

  8. JSON格式序列化与反序列化(List、XML)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  9. json相关,浏览器打开json格式的api接口时,进行格式化,chrome插件

    在chrome浏览器中安装Google jsonview插件能够自动格式化json格式的数据.

随机推荐

  1. NSSearchPathForDirectoriesInDomains函数详解

    NSSearchPathForDirectoriesInDomains函数详解     #import "NSString+FilePath.h" @implementation ...

  2. CentOS系统IPTables防火墙中FTP规则设置

    时间 2016-04-21 10:32:15  虫虫开源 原文  http://www.sijitao.net/2403.html 主题 iptablesFTP防火墙 在设置ftp通过iptables ...

  3. 关于GridView中控件的问题

    最近做项目报表时,会遇到在Gridview中有一些控件,报表中也会有更新.删除等一系列的操作,但往往会遇到一些控件取值取不到或者找不到控件得问题,通过网上查阅资料对其中的一些做一总结: 前台代码如下: ...

  4. Qt - QThread(翻译帮助文档)

    QThread Class 详细描述 QThread 类提供一个平台无关的方法来管理线程. 一个QThread对象管理一个程序中的控制线程.QThread在run()中开始执行任务.默认地,run() ...

  5. airflow 优化

    1. 页面默认加载数据过多,加载慢. 修改 .../python2.7/site-packages/airflow/www/views.py文件, 1823行, page_size参数, 比如改成18 ...

  6. iOS Architectures 浅谈

    iOS项目打包,或者只是在项目里面调用第三方静态库抑或是自己新建一个静态库,就要无可避免的和Architectures打交道.Architectures在Targets面板的Build Setting ...

  7. 根据对象的某一属性进行排序的js代码(如:name,age)

    var data = [{ name: "jiang", age: 22 }, { name: "AAAAAAAAAAAAAA", age: 21 }, { n ...

  8. Docker - Install docker on CentOS

    1. 准备 由于 Dokcer 需要 64bit OS, 版本号 3.10 或者更新的版本.所以,需要我们先确认我们的 CentOS 系统 $ uname -r output :: 3.10.0-22 ...

  9. 前端JS常用字符串处理实例

    字符串处理常常用在处理服务器回传的数据.动态拼接生成html等,是前端面试的必考题. 我觉得字符串处理这种常用到的,一定要了然于心,不然用到时急急忙忙去翻手册费半天. 入正题,首先提出平常遇到的几个需 ...

  10. 关于 printf() 函数的三张表格

    函数原型: printf(Control-String, item1, item2, ...); 表一  转换说明符及作为结果的打印输出 转 换 说 明 输    出 %a 浮点数.十六进制数字和p- ...