JAVA中几种Json库在存入null值后结果中是否显示Key值

使用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}




打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据