在调用JSON.parseObject(jsonStr,obj)时,发现当obj里面还含有一个json字符串时,解析是发现这个json字符串中为null值的字段,也不会显示在obj的toString中。例如:
public class JsonObj {
String key;
/**
* 这也是一个json字符串
*/
String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return "JsonObj{" +
"key='" + key + '\'' +
", value='" + value + '\'' +
'}';
}
}
public class FastJsonTest {
public static void main(String[] args) {
String jsonStr = "{\"key\": \"jsonTest\",\"value\": {\"name\": null,\"age\": 100}}";
JsonObj jsonObj = JSON.parseObject(jsonStr, JsonObj.class);
System.out.println("parse前:" + jsonStr);
System.out.println("parse后:" + jsonObj);
}
}
请问这种情况有什么可以让他保持value里面的null值不被去掉嘛
1条答案
按热度按时间pgvzfuti1#
这是输出结果:
parse前:{"key": "jsonTest","value": {"name": null,"age": 100}}
parse后:JsonObj{key='jsonTest', value='{"age":100}'}