老李分享: JSON 2
2015-12-11 16:39
405 查看
二、构造json文本(二)// { // "phone" : ["12345678", "87654321"], // 数组 // "name" : "apple", // 字符串 // "age" : 22, // 数值 // "address" : { "country" : "china", "province" : "上海" }, // 对象 // "married" : false // 布尔值 // } JSONStringer jsonBuilder = new JSONStringer();jsonBuilder.object();//开始的对象标识{sonBuilder.key("phone");//第一个key值jsonBuilder.array();//对应的值是一个数组,所以写个数组标识jsonBuilder.value(12345678);//数组里面的值jsonBuilder.value(87654321);jsonBuilder.endArray();//数组的结束标识jsonBuilder.key("name");jsonBuilder.value("apple");jsonBuilder.key("age");jsonBuilder.value(22);jsonBuilder.key("address");jsonBuilder.object();jsonBuilder.key("country");jsonBuilder.value("china");jsonBuilder.key("province");jsonBuilder.value("上海");jsonBuilder.endObject();jsonBuilder.key("married");jsonBuilder.value(false);jsonBuilder.endObject();//结束的对象标识}用JSONStringer生成json文本,一定要注意有开始标识就要有结束标识,不可少。在这里再讲一个值得注意的问题:json的put和accumulate()添加数据的时候,如果key键一样,会有不一样的效果。在用JSONObject json = new JSONObject();put的时候json.put("one", student);
json.put("one", "haha");在key一样的时候,json会以最后一次put进去的值为准,也就是说第一次添加进去key="one"的值student会被替换成为"haha"。运行json.toString()后的结果为:{"one":"haha"}在用JSONObject json = new JSONObject();accumulate的时候json.accumulate("student", student1);
json.accumulate("student", student2);
json.accumulate("student", false);
json.accumulate("student", "haha");在以accumulate方式添加数据的时候,accumulate意为累积,也就是把key值相等的后面加进来的数据合并为一个JSONArray数组,运行json.toString()结果为:{"student":[{"age":1,"name":"aa"},{"age":2,"name":"bb"},false,"haha"]}
json.put("one", "haha");在key一样的时候,json会以最后一次put进去的值为准,也就是说第一次添加进去key="one"的值student会被替换成为"haha"。运行json.toString()后的结果为:{"one":"haha"}在用JSONObject json = new JSONObject();accumulate的时候json.accumulate("student", student1);
json.accumulate("student", student2);
json.accumulate("student", false);
json.accumulate("student", "haha");在以accumulate方式添加数据的时候,accumulate意为累积,也就是把key值相等的后面加进来的数据合并为一个JSONArray数组,运行json.toString()结果为:{"student":[{"age":1,"name":"aa"},{"age":2,"name":"bb"},false,"haha"]}
相关文章推荐
- 老李性能测试分享
- 你想不到:咖啡馆里上工具课
- 移动端自动化测试开课了
- 老李分享:什么是好战略
- 性能调优案例分享:Mysql的cpu过高
- 性能测试分享:性能测试工具开发的案例分享(上)
- 性能测试分享:性能测试工具开发的案例分享(下)
- 性能测试培训:批量执行Jmeter脚本之ant调用 2
- 性能测试培训:分布式测试之jmeter1
- 老李案例分享:MAT分析应用程序服务出现内存溢出过程1
- 老李案例分享:MAT分析应用程序服务出现内存溢出过程2
- 老李案例分享:定位JAVA内存溢出 1
- 老李案例分享:定位JAVA内存溢出 2
- 性能测试培训: 建立压力模型
- 老李分享:你知道有哪些持续集成工具
- 老李分享知识:性能测试之TPS和吞吐率
- 老李分享知识:性能测试之吞吐量
- 性能测试培训:分析内训泄露的案例
- 自动化测试培训:qtp脚本获取获取汇率数据
- 性能测试培训:sql server性能测试分析局部变量的性能影响1