gpt4 book ai didi

android - 如何使用 Retrofit 2 处理返回可以是 OBJECT 或 ARRAY?

转载 作者:行者123 更新时间:2023-12-04 01:47:49 24 4
gpt4 key购买 nike

我在使用可能返回 ARRAY 或 OBJECT 的 API 时遇到问题,以下是数据格式:

对象格式:

{
"info":"no package",
"time":"04-20-2016"
}

数组格式:

[
{
"package_id":"1234",
"from":"CA",
"arrive_time":"05-02-2016"
},
{
"package_id":"4567",
"from":"DE",
"arrive_time":"05-04-2016"
}
]

在检查了一些帖子( Custom converter for Retrofit 2Multiple converters with Retrofit 2 )之后,我有一些线索应该用 Gson 反序列化器或自定义转换器来处理,但我的情况似乎有点不同。那怎么处理呢?提前致谢。

更新:将示例更改为更合适的示例。

最佳答案

混沌狮身人面像

我同意您的问题与您引用的这篇文章不同。

您的第一个 Json 包含有关您的请求的信息和异常,第二个 Json 在您的请求成功时返回。我建议您在转换 Json 之前检查响应 HTTP 代码。如果代码是 202 (java.net.HttpURLConnection.HTTP_OK),是因为你请求成功,API 会返回第二个 Json,你会把它转换成对象。如果代码是别的东西是因为发生了异常,你应该以不同的方式处理它。

一个例子:

            Response<List<MyObject>> response = myResource.myMethod().execute();
switch (response.code()) {
case HTTP_OK:
return response.body();
default:
//OPS! Request has failed!
}

关于android - 如何使用 Retrofit 2 处理返回可以是 OBJECT 或 ARRAY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36714870/

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