gson 处理包含字符串或数组类型字段的改型2响应对象

odopli94  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(147)

我正在尝试使用API检索项目列表。API的设计使得在项目列表中,一个项目中的字段是String,而另一个项目中的相同字段是Array。如果我将字段声明为Array,retrofit抛出一个错误,因为在某些情况下它返回字符串。我怎么能在两种情况下使用一个字段。我尝试将其声明为Object,然后将其强制转换为适当的对象List,但它抛出了一个异常,因为在本例中,类型是LinkedTreeMap的List。我使用Gson进行反序列化。
示例:

{
    [
        {
            "field": ""
        },
        {
            "field": [{},{},{}]
        }
    ]
}
2w2cym1i

2w2cym1i1#

您可以构建一个自定义反序列化器,并根据任何条件对任何字段做出React,在您的对象中,该字段可以是“Any”类型,但您可能会丢失到Object的Map点。
Here您可以找到一些示例

相关问题