使用GSON将空json数组解析为空对象

gmxoilav  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(255)

我使用的是一些设计不太好的API,当对象为null时,它返回空数组,如下所示:
非空响应:

"SourceType": {
  "ID": "2",
  "NameCZ": "Pokyny",
  "NameEN": "Information"
},

空响应:

"SourceType": [],

有没有办法用GSON将空响应解析为空对象?因为当我尝试简单地将其解析为POJO时,当存在这种空响应时,它显然会抛出Expected BEGIN_OBJECT but was BEGIN_ARRAY错误。

i86rm4rw

i86rm4rw1#

例如,尝试使用Optionals以避免空值

Optional<SourceType> response;

然后您可以使用

response.isPresent();

更多信息:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Optional.html

sh7euo9m

sh7euo9m2#

据我所知没有,我觉得你应该要求他们更改服务结构,如果你愿意,可以对比一下空状态下返回的http服务响应代码和满状态下返回的http服务响应代码,如果这不一样,你可以进行相应的解析。

相关问题