传递json"数据"在Retrofit 2中的数组

时间:2016-05-11 06:28:01

标签: gson retrofit2

我第一次尝试改装2而且我不知道怎么告诉它得到"类别"来自jsonarray的对象名为" data"。

方法1

如果我这样做就失败了:

@GET("category")
Call<List<Category>> listCategories();

方法2

但是当我创建一个名为&#34; Categories&#34;的新模型,它包含一个List并使用@SerializedName(&#34; data&#34;)进行注释时,它可以完美地运行。

@GET("category")
Call<Categories> listCategories();

我的问题

我应该在界面中注释一些内容,例如

@GET("category")
@Annotation to look inside "data"
Call<List<Category>> listCategories();

或者我应该注释我的&#34;类别&#34;模型告诉Retrofit(或GSON) 它存在于json数组内部&#34;数据&#34;?

JSON

{"data":[{"id":1,"name":"Fist Name","parent":0},{"id":2,"name":"Second Name","parent":1}]}

1 个答案:

答案 0 :(得分:1)

方法2 是正确的,当我们不想使用/定义json响应对象/数组键名(字段名称)时,我们使用它。而是提供我们自己的。 例如。在下面的代码List中,对象名称为items,但在使用序列化和反序列化时,您在@SerializedName注释中定义的内容为{{1} }。

data
  

我应该在界面中注释一些东西

没有。没有这样的注释可用,您可以做的一切只在Response类中。