我使用的是一些设计不太好的API,当对象为null时,它返回空数组,如下所示:
非空响应:
"SourceType": {
"ID": "2",
"NameCZ": "Pokyny",
"NameEN": "Information"
},
空响应:
"SourceType": [],
有没有办法用GSON将空响应解析为空对象?因为当我尝试简单地将其解析为POJO时,当存在这种空响应时,它显然会抛出Expected BEGIN_OBJECT but was BEGIN_ARRAY
错误。
2条答案
按热度按时间i86rm4rw1#
例如,尝试使用Optionals以避免空值
然后您可以使用
更多信息:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Optional.html
sh7euo9m2#
据我所知没有,我觉得你应该要求他们更改服务结构,如果你愿意,可以对比一下空状态下返回的http服务响应代码和满状态下返回的http服务响应代码,如果这不一样,你可以进行相应的解析。