Java 用原语改装通用响应对象

Java 用原语改装通用响应对象,java,android,json,retrofit,Java,Android,Json,Retrofit,在iOS中,响应不需要特别封装在对象中。这允许动态对象返回,并且您可以只引用所需的特定对象(请参阅)。安卓系统中是否有使用改型的等效方法 如果我有 "content": [ { "x":"1", "a":"b", "b":"c", "c":"d", "mark":"yes" } ] 我会得到一个对象,我可以调用object.x得到1,或者object.a得到b。其中键名称可以是任何基本对象。做了一些假设

在iOS中,响应不需要特别封装在对象中。这允许动态对象返回,并且您可以只引用所需的特定对象(请参阅)。安卓系统中是否有使用改型的等效方法

如果我有

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

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

做了一些假设。假设您正在使用带gson转换器的改装2。另外,您的JSON无效,我将假设存在一个封闭对象--

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

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

container.content[0].get("mark");
注意,您需要添加适当的null和bounds检查

public class Container {
    Map<String, Object> content[];
}
@GET("/")
Call<Container> getSomething();
container.content[0].get("mark");