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

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

=>=>=>

  1. {
  2. "Addresses": [
  3. "广东省 中山市 火炬开发区 在伟盛路附近 距离顷九327米",
  4. "广东省 中山市 火炬开发区 在伟盛路附近 距离顷九327米"
  5. ],
  6. "Points": [
  7. {
  8. "x": 113.456021761023,
  9. "y": 22.5737174302826
  10. },
  11. {
  12. "x": 113.456021761023,
  13. "y": 22.5737174302826
  14. }
  15. ],
  16. "Places": [
  17. [
  18. "测试区域",
  19. "su"
  20. ],
  21. [
  22. "测试区域",
  23. "su"
  24. ]
  25. ]
  26. }
  1. procedure TForm10.btn1Click(Sender: TObject);
  2. var
  3. Jsonstr: string;
  4. json: ISuperObject;
  5. jsonAddress, jsonPlaceArray, jsonplace: TSuperArray;
  6. i, j: Integer;
  7. begin
  8. Jsonstr := '{"Addresses":["广东省 中山市 火炬开发区 在伟盛路附近 距离顷九327米","广东省' +
  9. '中山市 火炬开发区 在伟盛路附近 距离顷九327米"],"Points":[{"x":113.456021761023,"y":22.5737174302826},'
  10. + '{"x":113.456021761023,"y":22.5737174302826}],"Places":[["测试区域","su"],["测试区域","su"]]}';
  11.  
  12. json := SO(Jsonstr);
  13. jsonAddress := json.A['Addresses']; // json.O['Addresses'].AsArray;
  14. jsonPlaceArray := json.O['Places'].AsArray;
  15. for i := to jsonPlaceArray.Length - do
  16. begin
  17. jsonplace := jsonPlaceArray.O[i].AsArray;
  18. for j := to jsonplace.Length - do
  19. begin
  20. mmo1.Lines.Add(jsonplace.S[j]);
  21. end;
  22. end;
  23. end;

处理代码

二、空调检测json结果:

=>=>=>

=>

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

测试代码

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

  1. 例子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. RabbitMQ 简介

    1. MQ描述 MQ全程为Message Queue,消息队列(MQ)是一种应用程序对应用程序通信的方法.应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消 ...

  2. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...

  3. static修饰符

    static修饰符表示静态的,可修饰字段.方法.内部类,其修饰的成员属于类,也就是说static修饰的资源属于类级别,而不是对象级别. static的正真作用:用来区别字段,方法,内部类,初始化代码块 ...

  4. XAML UserControl的继承

    欢迎访问Heroius博客:崩溃的脑壳查看文章原文! 前言 相信不少学习WPF和Silverlight的同学们都出于Winform的习惯,希望能够在新展示层框架中实现控件的继承.本文就是说明如何实现这 ...

  5. 基于TXT文本的简单图书管理系统

    1 ////////////////////////////////////////////////////////////////////////////////////// //SqList.h ...

  6. c++拷贝构造和编译优化

    #include <iostream> using namespace std; class MyClass { public: MyClass(); MyClass(int i); My ...

  7. 【Juicer】 一个高效、轻量的前端 (Javascript) 模板引擎

    引用地址:http://juicer.name/docs/docs_zh_cn.html * 一个完整的例子 HTML 代码: <script id="tpl" type=& ...

  8. shell 指定范围产生随机数

    #/bin/bash echo "---------------产生随机数---------------" read -p "请输入起始数:" a read - ...

  9. js 字符串操作函数

    concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . charAt() – 返回指定 ...

  10. Lintcode 372. O(1)时间复杂度删除链表节点

    ----------------------------------- AC代码: /** * Definition for ListNode. * public class ListNode { * ...