在iOS中,响应不需要专门封装在对象中。这允许动态对象返回,您可以只引用所需的特定对象(请参阅Decode JSON to NSArray or NSDictionary)。 Android中是否有使用改造的等效方法?
如果我有
,请进行校准"content":
[
{
"x":"1",
"a":"b",
"b":"c",
"c":"d",
"mark":"yes"
}
]
我会得到一个对象,我可以调用object.x并获取1,或者object.a然后获取b。键名可以是任何原始对象。
答案 0 :(得分:2)
做出几个假设。假设您正在使用带有gson转换器的改装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");
请注意,您需要添加适当的空值和边界检查。