我第一次尝试改装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}]}
答案 0 :(得分:1)
方法2 是正确的,当我们不想使用/定义json响应对象/数组键名(字段名称)时,我们使用它。而是提供我们自己的。 例如。在下面的代码List
中,对象名称为items
,但在使用序列化和反序列化时,您在@SerializedName注释中定义的内容为{{1} }。
data
我应该在界面中注释一些东西
没有。没有这样的注释可用,您可以做的一切只在Response类中。