使用jsonObj.put(“key”, null);在json对象中存入一个空值,最后在结果串里是会出现”key”:null,还是不出现”key”?
Json-Lib
在json-lib中行为如下:
public JSONObject put(String key, Object value) throws JSONException { if (key == null) { throw new JSONException("Null key."); } if (value != null) { testValidity(value); this.map.put(key, value); } else { this.remove(key); } return this; }
代码表明,如果为null,Json-lib会将该key值移除,即不会出现在结果JSON里不会出现此key,也就是若name=null;id=1;则生成的JSON为{“id”,1},不会出现name的KEY,要想将null值的KEY也放进去需要使用JSONObject.NULL:obj.put(“name”,JSONObject.NULL);生成的JSON就会有name的KEY,{“name”:null,”id”:1}