【发布时间】:2015-07-29 05:37:56
【问题描述】:
当我使用 Retrofit 解析 JSON 响应时,我收到以下错误:
应为 BEGIN_ARRAY,但为 BEGIN_OBJECT
我的 JSON 响应是:
{"Hints":"Within past week?,Within past month?,Within past year?,2000s?,1990s?,1980s?,1970s?,1960s?,Natural disaster?,Political?,Sports-related?,Movies-related?,Music-related?,Technology/Science?,Headline News?,International News?,Regional/Local News?"}
和模型类:
public class User {
String Hints;
public String getHints() {
return Hints;
}
public void setHints(String Hints) {
this.Hints = Hints;
}
public User() {
}
public User(String Hints) {
this.Hints = Hints;
}
}
界面是:
public interface UserService {
@GET("/getCategoryHints/3")
void getUser(Callback<List<User>> callback);
}
请告诉我此错误的可能原因。
【问题讨论】:
-
错误明确指出它应该以数组
[开头,但它以对象{开头。我不知道为什么会这样。但猜测错误类型。 -
你有
List<User>你的json不是对象数组。 -
我已突出显示错误消息,从代码块中删除了额外的换行符。我还从标题中删除了客户名称,因为由于标签的存在,它不是必需的。
标签: java android json retrofit