您的位置:首页 > Web前端 > JavaScript

老李分享: 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"]}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件测试开发