【发布时间】:2016-02-10 07:42:54
【问题描述】:
我正在尝试使用 Android 中的领域数据库解析和插入 JSON 响应。以下是我最终得到的例外:
io.realm.exceptions.RealmException: Could not create JSON array from string
at io.realm.Realm.createOrUpdateAllFromJson(Realm.java:396)
at mobile.login.LoginFragment$1.onResponse(LoginFragment.java:218)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
我正在尝试解析的 JSON:
{
"count": 1,
"statuses": [
{
"id": 0,
"name": "Visible",
"count": 0,
"sort_order": 0
},
{
"id": "1",
"name": "Invisible",
"count": 0,
"sort_order": "1"
}]
}
Count.java Pojo
public class Count extends RealmObject{
@PrimaryKey
private int count;
private RealmList<Statuses> statuses;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public RealmList<Statuses> getStatuses() {
return statuses;
}
public void setStatuses(RealmList<Statuses> statuses) {
this.statuses = statuses;
}
}
Statuses.java Pojo
public class Statuses extends RealmObject{
@PrimaryKey
@SerializedName("id")
@Expose
private String id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("count")
@Expose
private Integer count;
@SerializedName("sort_order")
@Expose
private String sortOrder;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public String getSortOrder() {
return sortOrder;
}
public void setSortOrder(String sortOrder) {
this.sortOrder = sortOrder;
}
}
这就是我尝试解析和存储 JSON 的方式:
Realm realm = Realm.getInstance(getContext());
realm.beginTransaction();
realm.createOrUpdateAllFromJson(Order.class, **"JSON STRING HERE"**);
realm.commitTransaction();
如果有人能帮我解决这个问题,那真是太棒了。提前致谢!
【问题讨论】:
-
我认为你的 json 有问题。看看:stackoverflow.com/questions/29064868/… 和:github.com/realm/realm-java/issues/968
标签: android realm realm-list