org.json.JsonObject的put和append方法比较

根据字面理解,append 是在后面追加,而 put 则是直接放进去,并不清楚区别到底是什么,特此测试。
发现 append(key,value) 会把 value 包装成一个数组。

        JSONArray arr=new JSONArray("[1,2,3,4]");

        JSONObject a=new JSONObject();

        JSONObject obj=new JSONObject();

        obj.put("putArr", arr).put("putObj", a);
        obj.append("appendArr", arr).append("appendObj", a);//put 和 append 区别

        System.out.println(obj.toString());//区别结果

        //a.put("key", "value");
        a.append("key1", "value1");//测试引用传值

        System.out.println(obj.toString());

        a.put("key2", "value2");
        System.out.println(obj.toString());

输出结果为:

{"appendArr":[[1,2,3,4]],"putArr":[1,2,3,4],"appendObj":[{}],"putObj":{}}


{"appendArr":[[1,2,3,4]],"putArr":[1,2,3,4],"appendObj":[{"key1":["value1"]}],"putObj":{"key1":["value1"]}}


{"appendArr":[[1,2,3,4]],"putArr":[1,2,3,4],"appendObj":[{"key1":["value1"],"key2":"value2"}],"putObj":{"key1":["value1"],"key2":"value2"}}

同时还可以发现,虽然第二个输出语句输出的 appendObj 和 putObj 与第一个不同,说明 append 是通过引用传递的,同时测试 put 也是引用传递。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值