您的位置:首页 > 移动开发 > Objective-C

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

2016-04-30 21:26 148 查看
根据字面理解,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 也是引用传递。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  append