json JSONObject element (String key, Object value) 测试不会调用accumulate()方法

public class jsonparsed { // 创建JSONObject对象 private static JSONObject createJSONObject() { String ssString = “石头”; JSONObject jsonObject = new JSONObject(); jsonObject.put("ret", new Integer(0)); jsonObject.put("msg", "query"); JSONObject dataelem1=new JSONObject(); //put方法添加元素,如果存在相同的key,当前的value会替换掉之前的value dataelem1.put("deviceid", "SG386"); dataelem1.put("price", 32.140); dataelem1.put("deviceid", "S386"); //accumulate方法的值会累计到JSONArray数组中 dataelem1.accumulate("username", "zhangsan"); dataelem1.accumulate("username", "lisi"); //element方法如果当前key对应的值为null,之前的key存在的话,那么key就会移除掉,注意:api中说:如果这 //个key之前有value值,那么此方法会调用accumulate()方法。在我这里测试好像不正确 dataelem1.element("psw", "123"); dataelem1.element("psw", ssString); JSONObject dataelem2=new JSONObject(); dataelem2.put("deviceid", "SH01H20130002"); dataelem2.put("price", "32.140"); // 返回一个JSONArray对象 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, dataelem1); jsonArray.add(1, dataelem2); jsonObject.element("data", jsonArray); return jsonObject; } }在调用element方法时没有累加而是做了替换,api中却说是调用accumulate 方法,搞不懂了?
最新回答
青春还年少

2024-09-17 01:14:32

public JSONObject element (String key, Object value) 将键/值对放到这个JSONObject对象里面。如果当前value为空(null),那么如果这个key存在的话,这个key就会移除掉。如果这
个key之前有value值,那么此方法会调用accumulate()方法。