【发布时间】:2015-09-07 14:11:19
【问题描述】:
我想使用的 API 的响应存在问题,我正在开发一个使用 Retrofit 1.9.0 和 GSON 2.3.1 使用此 API 的应用程序强>。
我要解析的 Json 是这样的:
{
"user1": {
"id": 1,
"name": "foo",
"address": "bar"
},
"user2":{
"id": 2,
"name": "foo",
"addres":"bar"
},
... it can be any number of users ...
"userN":{
"id": N,
"name": "foo,
"address": "bar"
}
}
所以我有一个名为 User 的 POJO:
public class User{
private int id;
private String name;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
我试图用配置Map<String, User>解析那个json:
Callback< <Map<String, User> > callback
但是当我运行它时,我有一个 GSON 错误:
gson expecting array but found object
如何正确解析 json?
PD:我无法更改 API 响应,它是一个外部 API。
【问题讨论】: