【发布时间】:2017-07-08 17:38:47
【问题描述】:
我使用领域来解析这个 JSON,但我得到这个错误: java.lang.IllegalArgumentException:JSON 对象没有主键字段“id”。
这是我的方法:
Realm r = Realm.getDefaultInstance();
r.beginTransaction();
r.createOrUpdateObjectFromJson(Application.class,result);
r.commitTransaction();
我的应用程序类是:
public class Application extends RealmObject {
@PrimaryKey
private int id;
private RealmList<girl> girls;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public RealmList<girl> getGirls() {
return girls;
}
public void setGirls(RealmList<girl> girls) {
this.girls = girls;
}
public Application() {
}
public Application(int id, RealmList<girl> girls) {
this.id = id;
this.girls = girls;
}
}
我班的女孩是
public class girl extends RealmObject {
@PrimaryKey
private int id;
private String name;
private String ville;
private String tel;
private String photo;
//getters and setters and constructors with and without params
}
【问题讨论】:
-
JSON 数据和模型定义看起来正确。您确定您传入的
result与您发布的 JSON 数据相同吗?此外,result应该是 JSON 数据,所有应用程序的字段都作为根元素,例如{"id": 1, "girls": [xxx]}。 -
到目前为止您找到任何解决方案吗?
-
有同样的问题,删除对象名称解决了这个问题。在这种情况下“”应用程序“:{ ...”