如何com.google.gson.JsonObject
在Java 中将值设置为null ?我肯定可以通过使用isNull来读取值是否为null,但是当我将其设置为null时,它只会忽略它:
JSONObject jsonObj = new JSONObject();
jsonobjToEra.addProperty("sun", Double.parseDouble(val));
jsonobjToEra.addProperty("mon", 22.333);
jsonobjToEra.addProperty("val", null); //ignoring it
请注意,我使用的com.google.gson.JsonObject
与类似的问题不同,例如如何在Java中使用org.json.JSONObject将值设置为null?在此SO的其他帖子中。
JSON:
[
{
"sun": 1122435343453,
"mon": 1460538600000,
"val": 45.900001525878906
},
{
"sun": 1460538600000,
"mon": 1460538660000,
"val": 45.900001525878906
}
]
您可以这样使用com.google.gson.JsonNull.INSTANCE
:
JsonObject jsonObj = ...
jsonObj.add("val", JsonNull.INSTANCE);
或者如果您想完成从序列化中删除值
jsonObj.remove("val");
演示:
String json = "{\"a\": 1, \"b\": 1}";
JsonObject jsonObject = new Gson().fromJson(json, JsonObject.class);
System.out.println(jsonObject); // {"a":1,"b":1}
jsonObject.addProperty("a", 2);
jsonObject.add("b", JsonNull.INSTANCE);
System.out.println(jsonObject); // {"a":2,"b":null}
jsonObject.remove("a");
System.out.println(jsonObject); // {"b":null}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句