1,如何解析复杂JSON

选择fastJson 用起来简单方便,前提必须是标准的JSON;

例子:

paraArray = "[" + paraArray + "]";
_finalMap.put("sourcename", name);
_finalMap.put("tablename", tablename);
_finalMap.put("datasource_id", datasource_id);
_finalMap.put("id", id);
}
list = JSON.parseArray(paraArray, Map.class);
if(list==null){
return "{\"code\":\"444\",\"msg\":\"查询的信息不存在\"}";
}
// 后续自己处理即可
Map map1 = list.get(0);
List list1 = (List) map1.get("tableInfos");
Object ob = null;
for (int i = 0; i < list1.size(); i++) {
ob = (Object) list1.get(i); String sob = ob.toString();
sob = "[" + sob + "]";
List list3 = JSON.parseArray(sob, Map.class);
System.out.println(list3.toString());
Map map3 = (Map) list3.get(0);
List list4 = (List) map3.get("fieldSelectArray");
List fieldSelectArrayList = new ArrayList();
for (int k = 0; k < list4.size(); k++) {
Map temp = new HashMap();
Object o = list4.get(k);
String so = o.toString();
so = "[" + so + "]";
List list5 = JSON.parseArray(so, Map.class);
System.out.println(list5);
Map map4 = (Map) list5.get(0);
String _name = (String) map4.get("name");
String _type = (String) map4.get("type");
String _dict = (String) map4.get("dict");
temp.put("name", _name);
temp.put("type", _type);
temp.put("dict", _dict);
fieldSelectArrayList.add(temp);

通过获取的字符串加入 “[]”,转化为List<map> ,获取map值,然后再添加[] 再次转化,最终得到,想要的

2,-------字符串评价为JSON

注意:大小包含的JSONObject jsons = new JSONObject();

              jsons.put("paramname",paramname);
jsons.put("type", type);
jsons.put("dict",dict); JSONObject jsons1 = new JSONObject();
jsons1.put("paramname", "A");
jsons1.put("type","B");
jsons1.put("dict","C"); List<JSONObject> st = new ArrayList<JSONObject>();
st.add(jsons);
st.add(jsons1); JSONObject json = new JSONObject();
json.put("sourcename", name);
json.put("tableName", tablename);
json.put("datasource_id", datasource_id);
json.put("id", id);
json.put("fieldSelectArray", st); JSONObject jsonB = new JSONObject();
jsonB.put("tableInfos", json); System.out.println(jsonB.toString()); 先添加小的,最内部的JSOn,然后依次向外添加,----------得到想要的为止。 ------------GOOD LUCKLY !!!-----------

JSON 新感的更多相关文章

  1. js的JSON新方法和历史记录管理

    今天看妙味的视频,一下是一些简单的笔记: 1.JSON的一些新方法: JSON.stringify(); JSON.parse(); 第一个是把js脚本转换成JSON的字符串形式. 而第二个则是吧这种 ...

  2. json 新用

    如果使用struts2的action,可以省去属性赋值的工夫. 但是假如你没有使用struts2,而且使用的是ajax请求,通过json来传递参数.那我下面所说的对你可能是一个很好的解脱,从此告别re ...

  3. 深入理解计算机系统-从书中看到了异或交换ab两个值的新感

    还得从一个很经典的面试题说起:不通过第三个变量来交换两个变量a,b的值... 一个很经典的答案是通过异或来解决: 第壹步:a=a^b; 第贰步:b=a^b; 第叁步:a=a^b; 以前提起" ...

  4. 简单使用JSON,JavaScript中创建 JSON 对象(一)

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  5. Java读取json文件并对json数据进行读取、添加、删除与修改操作

    转载:http://blog.csdn.net/qing_yun/article/details/46865863#t0   1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行 ...

  6. golang 学习笔记 ---JSON

    JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法的子集.JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 ...

  7. 【java/Json】用Java对象构建Json语法树

    本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...

  8. 如何快速为团队打造自己的组件库(上)—— Element 源码架构

    文章已收录到 github,欢迎 Watch 和 Star. 简介 详细讲解了 ElementUI 的源码架构,为下一步基于 ElementUI 打造团队自己的组件库打好坚实的基础. 如何快速为团队打 ...

  9. php获取用户 地区 、ip地址

    header("Content-type: text/html; charset=utf-8"); function getCity($ip = '')//获取地区 { if($i ...

随机推荐

  1. BZOJ2565 最长双回文串 【Manacher】

    BZOJ2565 最长双回文串 Description 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为"abc",逆序为"c ...

  2. JSONModel源码阅读笔记

    JSONModel是一个解析服务器返回的Json数据的库. http://blog.csdn.net/dyllove98/article/details/9050905 通常服务器传回的json数据要 ...

  3. PHP5.3、PHP5.4、PHP5.5、PHP5.6的新特性

    1. PHP5.3中的新特性 1.1 支持命名空间(namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,可以用命名空间防止代码的冲突,命名空间的分隔符为 ...

  4. 基于openresty 的几个开发框架

    1. kong    api  gateway     Github:   https://github.com/Mashape/kong 2.  Lapis   web 开发框架   Github: ...

  5. linux(centos)下安装ffmpeg

    [备忘]windows环境下20行php代码搞定音频裁剪 上次我的这篇文章将了windows下web中如何操作ffmpeg的文章,这里则记录下linux(centos)下的安装 首先:我花了中午大概1 ...

  6. happynear_caffe编译时,缺少头文件caffe.pb.h的问题

    由于一些问题,需要编译caffe 的windows版本,用的是happynear的caffe版本,在caffe.pb.h遇到了问题 如何生成 caffe.pb.h 将protobuf 里的 proto ...

  7. GOF23设计模式之原型模式(prototype)

    一.原型模式概述 1.通过new产生一个对象需要非常繁琐的数据准备和访问权限,则可以使用原型模式. 2.就是java中的克隆技术,以某个对象为原型,复制出新的对象,显然,新的对象具备原型对象的特点. ...

  8. postman 设置代理

    点击右上角 图标(亮着的为录制中) 设置端口 和存放位置 把浏览器设置代理 localhost 8080 即可 filter中可以通过正则表达式来匹配自己关心的url     2018.9 后记: 今 ...

  9. ZOJ 3609 Modular Inverse(拓展欧几里得求最小逆元)

    Modular Inverse Time Limit: 2 Seconds      Memory Limit: 65536 KB The modular modular multiplicative ...

  10. 【转】给TD添加滚动条的方法

    TD本身不允许出现滚动条,而会总动撑大,所以要想加滚动条需要另外在TD内添加一个容器如:DIV. 例子: <table style="width: 450px; height: 360 ...