JSON 新感
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 新感的更多相关文章
- js的JSON新方法和历史记录管理
今天看妙味的视频,一下是一些简单的笔记: 1.JSON的一些新方法: JSON.stringify(); JSON.parse(); 第一个是把js脚本转换成JSON的字符串形式. 而第二个则是吧这种 ...
- json 新用
如果使用struts2的action,可以省去属性赋值的工夫. 但是假如你没有使用struts2,而且使用的是ajax请求,通过json来传递参数.那我下面所说的对你可能是一个很好的解脱,从此告别re ...
- 深入理解计算机系统-从书中看到了异或交换ab两个值的新感
还得从一个很经典的面试题说起:不通过第三个变量来交换两个变量a,b的值... 一个很经典的答案是通过异或来解决: 第壹步:a=a^b; 第贰步:b=a^b; 第叁步:a=a^b; 以前提起" ...
- 简单使用JSON,JavaScript中创建 JSON 对象(一)
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- Java读取json文件并对json数据进行读取、添加、删除与修改操作
转载:http://blog.csdn.net/qing_yun/article/details/46865863#t0 1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行 ...
- golang 学习笔记 ---JSON
JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法的子集.JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 ...
- 【java/Json】用Java对象构建Json语法树
本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...
- 如何快速为团队打造自己的组件库(上)—— Element 源码架构
文章已收录到 github,欢迎 Watch 和 Star. 简介 详细讲解了 ElementUI 的源码架构,为下一步基于 ElementUI 打造团队自己的组件库打好坚实的基础. 如何快速为团队打 ...
- php获取用户 地区 、ip地址
header("Content-type: text/html; charset=utf-8"); function getCity($ip = '')//获取地区 { if($i ...
随机推荐
- BZOJ3141 Hnoi2013 游走 【概率DP】【高斯消元】*
BZOJ3141 Hnoi2013 Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点 ...
- 加密shell
shc -v -r -T -f script-name >/dev/null 2>&1
- NSURLSession学习笔记(二)Session Task
Session Task分为三种Data Task,Upload Task,Download Task.毫无疑问,Session Task是整个NSURLSession架构的核心目标. 下面写了一个简 ...
- 【DUBBO】dubbo的Cluster接口
Directory中的多个Invoker伪装成一个Invoker, 对上层透明,包含集群的容错机制 Cluster可以看做是工厂类, 将目录directory下的invoker合并成一个统一的Invo ...
- cookie控制登陆时间
使用cookie实现永久登陆 1,在cookie里面保存账号密码然后和数据库核对(由于我没有使用数据库,就不用了 2,在cookie里面保存时间戳和账号使用加密解密(我也没有使用时间戳 思路,requ ...
- Asp.net Mvc 过滤器执行顺序
Asp.net Mvc 过滤器执行顺序: IAuthorizationFilter(OnAuthorization)----->IActionFilter(OnActionExecuting)- ...
- postman参数化的方法
1.准备csv格式的文件(注意第一行是是引用参数的名称) 2.编写请求,应用变量参数,并且设置断言 引用变量参数 3.把这个请求的文件夹runner一下批量执行 4.把第一步变量的csv文件在runn ...
- 常见的sql server 链接问题------持续更新
问题1:超时时间已到.超时时间已到,但是尚未从池中获取连接.出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小 再查询窗口输入exec sp_who2进行查询链接消耗资源 可能出现的情况是 ...
- ERROR无法从静态上下文中引用非静态变量
ERROR无法从静态上下文中引用非静态变量 2012-06-16 20:58:52 分类: Java 什么是“static”? 学习过java.C++或C的人都应该认识这个关键字.用这个关键字修饰的变 ...
- 升级phpcms的ckeditor编辑器
首先说明一下为什么升级?网上很多人升级成了ueditor,可从fckedotror 到 ckeditor,我个人都是比较喜欢的,特别是开放式的插件方式.另外一个就是至少要懂得升级和插件的开发,这样也能 ...