1,如何解析复杂JSON

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

例子:

  1. paraArray = "[" + paraArray + "]";
  2. _finalMap.put("sourcename", name);
  3. _finalMap.put("tablename", tablename);
  4. _finalMap.put("datasource_id", datasource_id);
  5. _finalMap.put("id", id);
  6. }
  7. list = JSON.parseArray(paraArray, Map.class);
  8. if(list==null){
  9. return "{\"code\":\"444\",\"msg\":\"查询的信息不存在\"}";
  10. }
  11. // 后续自己处理即可
  12. Map map1 = list.get(0);
  13. List list1 = (List) map1.get("tableInfos");
  14. Object ob = null;
  15. for (int i = 0; i < list1.size(); i++) {
  16. ob = (Object) list1.get(i);
  17.  
  18. String sob = ob.toString();
  19. sob = "[" + sob + "]";
  20. List list3 = JSON.parseArray(sob, Map.class);
  21. System.out.println(list3.toString());
  22. Map map3 = (Map) list3.get(0);
  23. List list4 = (List) map3.get("fieldSelectArray");
  24. List fieldSelectArrayList = new ArrayList();
  25. for (int k = 0; k < list4.size(); k++) {
  26. Map temp = new HashMap();
  27. Object o = list4.get(k);
  28. String so = o.toString();
  29. so = "[" + so + "]";
  30. List list5 = JSON.parseArray(so, Map.class);
  31. System.out.println(list5);
  32. Map map4 = (Map) list5.get(0);
  33. String _name = (String) map4.get("name");
  34. String _type = (String) map4.get("type");
  35. String _dict = (String) map4.get("dict");
  36. temp.put("name", _name);
  37. temp.put("type", _type);
  38. temp.put("dict", _dict);
  39. fieldSelectArrayList.add(temp);

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

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

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

  1. jsons.put("paramname",paramname);
  2. jsons.put("type", type);
  3. jsons.put("dict",dict);
  4. JSONObject jsons1 = new JSONObject();
  5. jsons1.put("paramname", "A");
  6. jsons1.put("type","B");
  7. jsons1.put("dict","C");
  8. List<JSONObject> st = new ArrayList<JSONObject>();
  9. st.add(jsons);
  10. st.add(jsons1);
  11. JSONObject json = new JSONObject();
  12. json.put("sourcename", name);
  13. json.put("tableName", tablename);
  14. json.put("datasource_id", datasource_id);
  15. json.put("id", id);
  16. json.put("fieldSelectArray", st);
  17. JSONObject jsonB = new JSONObject();
  18. jsonB.put("tableInfos", json);
  19. System.out.println(jsonB.toString());
  20. 先添加小的,最内部的JSOn,然后依次向外添加,----------得到想要的为止。
  21. ------------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. 【2018.06.26NOIP模拟】T3节目parade 【支配树】*

    [2018.06.26NOIP模拟]T3节目parade 题目描述 学校一年一度的学生艺术节开始啦!在这次的艺术节上总共有 N 个节目,并且总共也有 N 个舞台供大家表演.其中第 i 个节目的表演时间 ...

  2. 《DSP using MATLAB》示例Example 8.28

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  3. LG1343 地震逃生

    题意 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带,每条边都只能容纳一定量的学 ...

  4. html页面设置一个跟随鼠标移动的DIV(jQuery实现)

    说明业务:鼠标放到某个标签上,显示一个div,并跟随鼠标移动 html页面(直接放body里面): <a href="#" id="'+data[i].refund ...

  5. Linux环境下安装Websphere8.5.5

    首先安装包资源: https://pan.baidu.com/s/1Jvkqe3WMgNQ3bn3ggYGhAQ 下面是Installation Manager安装包 agent.installer. ...

  6. jsp中取两位小数

    var d=1.11111111;  var c = d.toFixed(2);  alert(c);

  7. 推荐PHP程序员进阶的好书

    <UNIX网络编程卷1(第3版)> <UNIX网络编程卷2(第2版)> <UNIX环境高级编程(第3版)> <UNIX编程艺术> <MySQL技术 ...

  8. Bootstrap组件系列之福利篇几款好用的组件(推荐)

    引用 :http://www.jb51.net/article/87189.htm 一.时间组件 bootstrap风格的时间组件非常多,你可以在github上面随便搜索“datepicker”关键字 ...

  9. html5的canvas方法的总结

    canvas的方法 save()保存当前环境的状态 restore() 返回之前保存过的路径状态和属性 createEvent() getContext()返回一个对象,指出访问绘图功能必要的API ...

  10. View.findViewById()和Activity.findViewById()区别

    在网上看见View.findViewById() 和 Activity.findViewById()执行效率不一样 使用Activity.findViewById()如: TextView tv_in ...