gpt4 book ai didi

java - 如何使用 GSON 和 Retrofit2 反序列化多形状 JSON 响应?

转载 作者:行者123 更新时间:2023-12-04 10:41:16 28 4
gpt4 key购买 nike

我有一个 restApi,它的响应可以是这样的(如果只有一个对象要返回):

{
"keys":
{
"id":0,
"name":"john",
"pItems":12
}
}

或者像这样,如果还有更多:
{
"keys":
[
{
"id":0,
"name":"john",
"pItems":12
},
{
"id":0,
"name":"john",
"pItems":12
}
]
}

当我为 Model 对象使用列表时,第一种情况不起作用。
如何使用 Gson 和 Retrofit2 反序列化它?

最佳答案

好的,您无法更改响应的设计,但您确定只能接收这些响应吗?如果是这样,也许你可以创建这样的东西:

class Response{
public Object keys
}

class UserResponse{
public int id;
public String name;
public int pItems;
}

所以你会有两种情况:
  • 您可以收到一个 UserResponse 对象
  • 您可以收到 UserResponse 对象列表

  • 然后验证是否是 UserResponse 列表,可以是这样的:
    if (keys instanceof List<?>){
    // then keys is a list
    }else{
    // then keys is a single object UserResponse
    }

    关于java - 如何使用 GSON 和 Retrofit2 反序列化多形状 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59920085/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com