【发布时间】:2015-09-06 13:06:29
【问题描述】:
我正在使用这个 JSON 存储一些带有 Retrofit 的文章,但我有一个错误:
应为 BEGIN_ARRAY,但在第 1 行第 2 列是 BEGIN_OBJECT
这是我的代码:
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://www.example.com/")
.setLogLevel(RestAdapter.LogLevel.FULL)
.build();
Flow flowservice = restAdapter.create(Flow.class);
flowservice.getArticles("55ec320b066ee7ae08360f12", new Callback<List<String>>() {
@Override
public void success(List<String> objects, Response response) {
textView.setText(objects.get(0));
}
@Override
public void failure(RetrofitError error) {
textView.setText(error.getMessage());
}
});
我使用这个 POJO:
public class Article implements Serializable {
private int remoteId;
private String title;
private String imageUrl;
private String content;
private int viewsCount;
private int commentsCount;
private int likesCount;
private int categoryId;
private String authorName;
private boolean liked;
// getters and setters removed
}
还有一个示例 JSON:
{
"success":true,
"errorCode":0,
"articles":[
{
"remoteId":0,
"title":"Nam viverra vulputate lacus nec pellentesque. Nam viverra vulputate lacus nec pellentesque.",
"imageUrl":"/articles/armatis.png",
"content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas interdum tempus ultrices. Ut quis tellus molestie, ornare mi non, fermentum nisl. Sed vitae ultricies metus. Vivamus aliquam metus enim, ut fringilla justo molestie et. Maecenas nec ligula neque. Mauris vel cursus risus. Suspendisse ut nulla porta, congue nulla sit amet.",
"viewsCount":235,
"commentsCount":6,
"likesCount":18,
"categoryId":1,
"authorName":"Sébastien Gabory",
"liked":false
},
{
"remoteId":1,
"title":"Nam viverra vulputate lacus nec pellentesque.",
"imageUrl":"/articles/armatis.png",
"content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas interdum tempus ultrices. Ut quis tellus molestie, ornare mi non, fermentum nisl. Sed vitae ultricies metus. Vivamus aliquam metus enim, ut fringilla justo molestie et. Maecenas nec ligula neque. Mauris vel cursus risus. Suspendisse ut nulla porta, congue nulla sit amet.",
"viewsCount":18,
"commentsCount":6,
"likesCount":25,
"categoryId":1,
"authorName":"Sébastien Gabory",
"liked":false
}
]
}
流类:
public interface Flow {
@GET("/v2/{json}")
void getArticles (@Path("json") String json ,Callback<List<Article>> callback);
}
【问题讨论】:
标签: java android json gson retrofit