gpt4 book ai didi

java - 使用原语改造通用响应对象

转载 作者:行者123 更新时间:2023-12-02 04:13:31 26 4
gpt4 key购买 nike

在 iOS 中,响应不需要专门封装在对象内。这允许动态对象返回,并且您可以仅引用您需要的特定对象(请参阅 Decode JSON to NSArray or NSDictionary )。 Android 中是否有使用 Retrofit 的等效方法?

要验证我是否有

"content":
[
{
"x":"1",
"a":"b",
"b":"c",
"c":"d",
"mark":"yes"
}
]

我会得到一个对象,我可以调用object.x并得到1,或者object.a并得到b。其中键名称可以是任何原始对象。

最佳答案

做出一些假设。假设您使用的是带有 gson 转换器的 retrofit 2。另外,您的 JSON 无效,我假设存在一个封闭对象 -

{
"content":
[
{
"x":"1",
"a":"b",
"b":"c",
"c":"d",
"mark":"yes"
}
]
}

在 Java 中,您需要 Map 。在你的例子中,你将有一个 Map 的数组的。您可以将您的封闭类定义为 -

public class Container {
Map<String, Object> content[];
}

如果您知道所有值都将转换为字符串,则可以使用 Map<String, String> , 也。您可以使用 Container作为改造调用中的返回类型。

@GET("/")
Call<Container> getSomething();

假设您将结果放入名为 container 的变量中,您可以使用 get 访问这些字段.

container.content[0].get("mark");

请注意,您需要添加适当的空值和边界检查。

关于java - 使用原语改造通用响应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33557355/

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