【发布时间】:2019-11-29 13:56:31
【问题描述】:
我对 Gson 如何将字符串解析为 JSON 感到有些困惑。 一开始我是这样初始化gson的
val gson = Gson().newBuilder().serializeNulls().disableHtmlEscaping().create()
接下来,我将地图转换为字符串:
val pushJson = gson.toJson(data) // data is of type Map<String,Any>
给出以下输出:
{
"name": null,
"uuid": "5a8e8202-6654-44d9-a452-310773da78c1",
"paymentCurrency": "EU"
}
此时,JSON 字符串具有空值。但在以下步骤中:
val jsonObject = JsonParser.parseString(pushJson).asJsonObject
没有!
{
"uuid": "5a8e8202-6654-44d9-a452-310773da78c1",
"paymentCurrency": "EU"
}
空值被省略。如何像 JSON 字符串一样获取 JsonObject 中的所有空值:
{
"string-key": null,
"other-key": null
}
@编辑
添加了一些 json 来帮助理解问题。
【问题讨论】:
-
能否请您粘贴一些可以重现该问题的代码?我不太明白问题是什么
-
当然,我已经编辑了问题
-
你试过这个吗:
Gson gson = new GsonBuilder().serializeNulls().create(); -
是的,你可以看到这是我问题的第一行 :)
-
@shurrok 你用的是什么版本的 GSON?