JAVA中JSONObject方法,java中 JSONObject与JSONArray的使用方法

public static void main(String[] args) {

// 创建一个JSONObject对象

JSONObject jsonObject1 = new JSONObject();

// Map 与 JSONObject 相互转换

Map map1 = new HashMap();

map1.put("we", "dsds");

JSONObject jsonObject2 = JSONObject.fromObject(map1);

Map map2 = (Map)JSONObject.toBean(jsonObject2, Map.class);

// 字符串 转 JSONObject

JSONObject jsonObject3 = JSONObject.fromObject("{obj: [{name: 'wwp'}, {age: 22}], obj: 2}");

//put() 和 get() 方法

jsonObject2.put("key", "sds");

//注意:如果键不存在,则抛出异常

jsonObject2.get("key");

public class JSONtest {

public static void main(String args[]){

//创建一个JSONObject对象

JSONObject jsonObject = new JSONObject();

jsonObject.put("key1", "value1");

jsonObject.put("key2", "value2");

jsonObject.put("key3", "value3");

jsonObject.put("key4", "value4");

System.out.println("jsonObject:"+jsonObject);

//创建一个JSONArray对象

JSONArray jsonArray=new JSONArray();

jsonArray.add("value1");

jsonArray.add("value2");

jsonArray.add("value3");

jsonArray.add("value4");

System.out.println("jsonArray:"+jsonArray);

//Map转成JSONObject

Mapmap=new HashMap();

map.put("key1", "value1");

map.put("key2", "value2");

map.put("key3", "value3");

map.put("key4", "value4");

System.out.println("jsonObject2:"+JSONObject.fromObject(map));

//List转成JsonArray

Listlist=new ArrayList();

list.add("value1");

list.add("value2");

list.add("value3");

System.out.println("jsonArray2:"+JSONArray.fromObject(list));

//JsonArray解析map,会将整个json对象放进数组。

System.out.println("jsonArray from map:"+JSONArray.fromObject(map));

//将JSONObject放入JsonArray

JSONObject jsonObject3=new JSONObject();

jsonObject3.put("姓名", "张三");

jsonObject3.put("年龄", "13");

jsonObject3.put("身高", "166");

System.out.println("将JSONObject放入JsonArray:"+JSONArray.fromObject(jsonObject3));

}

}

打印输出

jsonObject:{"key4":"value4","key3":"value3","key2":"value2","key1":"value1"}

jsonArray:["value1","value2","value3","value4"]

jsonObject2:{"key4":"value4","key3":"value3","key2":"value2","key1":"value1"}

jsonArray2:["value1","value2","value3"]

jsonArray from map:[{"key4":"value4","key3":"value3","key2":"value2","key1":"value1"}]

将JSONObject放入JsonArray:[{"姓名":"张三","身高":"166","年龄":"13"}]

put,accumulate,element的区别

public Object put (Object key, Object value) 将value映射到key下。如果此JSONObject对象之前存在一个value在这个key下,当前的value会替换掉之前的value

[java] view plain copy

JSONObject jsonObject = new JSONObject();

jsonObject.put("key1", "value1");

jsonObject.put("key2", "value2");

jsonObject.put("key2", "value2");

jsonObject.put("key4", "value4");

System.out.println("jsonObject:"+jsonObject);

输出:

jsonObject:{"key4":"value4","key2":"value2","key1":"value1"}

发现key2被覆盖了。

public JSONObject accumulate (String key, Object value) 累积value到这个key下。这个方法同element()方法类似,特殊的是,如果当前已经存在一个value在这个key下那么一个JSONArray将会存储在这个key下来保存所有累积的value。如果已经存在一个JSONArray,那么当前的value就会添加到这个JSONArray中。相比之下replace方法会替代先前的value,代码如下

[java] view plain copy

JSONObject jsonObject = new JSONObject();

jsonObject.accumulate("key1", "value1");

jsonObject.accumulate("key2", "value2");

jsonObject.accumulate("key2", "value2");

jsonObject.accumulate("key4", "value4");

System.out.println("jsonObject:"+jsonObject);

输出:

jsonObject:{"key4":"value4","key2":["value2","value2"],"key1":"value1"}

value积累到key2下, key2的值为数组。

public JSONObject element (String key, Object value) 将键/值对放到这个JSONObject对象里面。那么如果这个key存在,当前value为空(null),这个key就会移除掉。如果这个key之前有value值,那么此方法会调用accumulate()方法。这个是官方文档的说法,但是通过做实验发现并没有调用accumulate()方法,如果key重复,则直接覆盖。代码如下:

[java] view plain copy

JSONObject jsonObject = new JSONObject();

jsonObject.element("key1", "value1");

jsonObject.element("key2", "value2");

jsonObject.element("key2", "value2");

jsonObject.element("key2", "value4");

System.out.println("jsonObject:"+jsonObject);

输出:

jsonObject:{"key2":"value4","key1":"value1"}

key2被覆盖,并没有累积。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值