如何在Java中使用com.google.gson.JsonObject将值设置为null?

天哪 :

如何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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中使用org.json.JSONObject将值设置为null?

com.google.gson.JsonObject不能转换为com.google.gson.JsonArray在Java中

com.google.gson.JsonPrimitive无法转换为com.google.gson.JsonObject错误

JSONObject(org.json)到JsonElement(com.google.gson)

无法加载类“ com.google.gson.JsonObject”

Google Gson-com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

用于JSON解析的Android模型显示ClassCastException:com.google.gson.JsonObject无法转换为com.google.gson.JsonArray

获取java.lang.NoClassDefFoundError:com / google / gson / Gson

将gson JsonObject值与Java字符串进行比较

使用GSON从DistanceMatrix Google Api将嵌套数组Json解析为Java

使用com.google.gson解析JSON

无法解决:com.google.code.gson:gson.2.2.2

无法解决:com.google.code.gson:gson:2.3.1

如何在Android Studio中修复“无法解决:com.google.gson:gson:2.8.5”

错误:onFailure:com.google.gson.JsonSyntaxException:java.lang.NumberFormatException:预期为int,但为57213780054

如何使用 com.google.gson 类创建 json 对象

如何在Java中解析Json文件时无法转换com.google.gson.JsonArray

为什么 JsonParser 使用 com.google.gson API 在返回值中给出双引号

如何在Gson中使用Retrofit2将空字符串视为null

Appium:java.lang.NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom / google / gson / GsonBuilder;

java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;

如何将我的JsonObject(com.google.gson.JsonObject)转换为GenericRecord(org.apache.avro.generic.GenericRecord)类型

Java - Google GSON 语法错误

如何使用Google GSON将JSON数组反序列化为通用类型的Collection?

使用Google的Gson进行严格的JSON解析?

使用Google Gson解析Json Feed

使用Google Gson映射Mongo id字段

如何将JSONObject转换为gson.JsonObject?

如何在Gson JsonObject中检查“ isEmpty()”?