我正在尝试使用API检索项目列表。API的设计使得在项目列表中,一个项目中的字段是String,而另一个项目中的相同字段是Array。如果我将字段声明为Array,retrofit抛出一个错误,因为在某些情况下它返回字符串。我怎么能在两种情况下使用一个字段。我尝试将其声明为Object,然后将其强制转换为适当的对象List,但它抛出了一个异常,因为在本例中,类型是LinkedTreeMap的List。我使用Gson进行反序列化。
示例:
{
[
{
"field": ""
},
{
"field": [{},{},{}]
}
]
}
1条答案
按热度按时间2w2cym1i1#
您可以构建一个自定义反序列化器,并根据任何条件对任何字段做出React,在您的对象中,该字段可以是“Any”类型,但您可能会丢失到Object的Map点。
Here您可以找到一些示例