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. Luogu3576 POI2014 MRO-Ant colony 【树形DP】*

    Luogu3576 POI2014 MRO-Ant colony The ants are scavenging an abandoned ant hill in search of food. Th ...

  2. 《selenium2 python 自动化测试实战》(16)——js操作补充

    js修改readonly属性 我们看到这里日期框标签中有readonly属性,如果我们直接send_keys就无法输入内容,这时我们需要先去掉readonly属性: js ='document.get ...

  3. Django的MultipleChoiceField处理小技巧

    1.如果遇到多选择的,在收到数据时一般需要做处理 tag_id = fields.MultipleChoiceField( choices=[], widget=widgets.CheckboxSel ...

  4. Mysql-Proxy 读写分离的各种坑,特别是复制延迟时

    延迟问题读写分离不能回避的问题之一就是延迟,可以考虑Google提供的SemiSyncReplicationDesign补丁. 端口问题MySQL-Proxy缺省使用的是4040端口,如果你想透明的把 ...

  5. (转)Android性能优化——工具篇

    Android性能优化是Android开发中经常遇见的一个问题,接下来将对Android性能优化方面的知识点做一个简单的梳理和总结,将从工具和代码两方面进行梳理.所谓工欲善其事必先利其器,本文首先来看 ...

  6. 贴几个erlang文档站点

    国外三方的文档,比较全, http://erldocs.com/ 这个貌似是国内的版本,不是很新 http://erldoc.com/ 国内dhq大神的,也不是很新 http://dhq.me/erl ...

  7. 【学习记录】二分查找的C++实现,代码逐步优化

    二分查找的思想很简单,它是针对于有序数组的,相当于数组(设为int a[N])排成一颗二叉平衡树(左子节点<=父节点<=右子节点),然后从根节点(对应数组下标a[N/2])开始判断,若值& ...

  8. STL传递比较函数进容器的三种方式

    对于STL中的依靠比较排序的容器,均提供了一个模板参数来传递比较函数,默认的为std::less<>. 查阅Containers - C++ Reference可以看到典型的使用比较函数的 ...

  9. c#实现QQ群成员列表导出及邮件群发之群列表及群成员获取

    主题已迁移至:http://atiblogs.com/ ITO-神奇的程序员

  10. Win10系统WMIProviderHost进程占用CPU过高

    “WMI Provider Host“占用了过多CPU资源导致系统卡顿,该如何解决这个问题呢? 解决方法: 可以尝试关闭Windows防火墙服务来解决这个问题. 1.按住win+R,输入service ...