我正在尝试使用 Google 的 gson 库解析 json 数据。但是 json 数据表现不佳。
当一切正常时,它确实看起来像这样:
{
"parent": {
"child_one": "some String",
"child_two": "4711",
...
}
}
child_one
应该被解析为String
, child_two
as int
。但有时其中一个孩子没有值,这会导致空对象而不是null
,如下所示:
{
"parent": {
"child_one": "some String",
"child_two": {},
...
}
}
我无权更改 json 提要,因此我必须在反序列化期间处理它。但我在这里迷路了。如果我让它解析第二种情况,我会得到一个JsonSyntaxException
.
我考虑过使用自定义JsonDeserializer
. 做一些类似检查每个元素是否是 a 的事情JsonObject
,如果是,检查entrySet.isEmpty()
. 如果是,请删除该元素。
但我不知道如何完成迭代......