1
我使用這個JSON存儲與改造的一些文章,但我有一個錯誤:爲什麼Gson期望開始數組,但獲得一個對象?
Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
這裏是我的代碼:
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);
}