我想要使用Model Retrofit解析这个JSON响应
[{"category":{"id":31,"name":"App's."}},
{"category":{"id":32,"name":"Reinvention"}}]
使用http://www.jsonschema2pojo.org/我会得到这些模型:
public class Category {
private Integer id;
private String name;
}
public class CategoryResponse {
private Category category;
}
这是我的界面:
public interface Api {
@GET("/categories.json")
void getCategories(Callback <CategoryResponse> callback);
}
但是下一个电话不起作用:
RestClient.get().getCategories(new Callback<CategoryResponse>() {
@Override
public void success(CategoryResponse categoryResponse, Response response) {
}
@Override
public void failure(RetrofitError error) {
}
});
有没有人知道如何使用Model Retrofit解析?
答案 0 :(得分:1)
您是否可以访问生成Json响应的代码? 因为它应该是这样的:
{Category:[{"id":31,"name":"App's."},
{"id":32,"name":"Reinvention"}]}
然后你只需要调整你的CategoryResponse类来使用List
public class CategoryResponse {
private List<Category> category;
}
更简单的是将你的Json调整为
[{"id":31,"name":"App's."},
{"id":32,"name":"Reinvention"}]
然后你只需要你的Category
课程并在你的界面中使用它
@GET("/categories.json")
void getCategories(Callback <List<Category>> callback);
修改强>
如果您无法更改Json,您应该能够使用List<CategoryResponse>
解析它,例如@SorryForMyEnglish建议。
然后您的界面将如下所示
@GET("/categories.json")
void getCategories(Callback <List<CategoryResponse>> callback);