我尝试将REALM ORM库用于我的项目,我遇到了createOrUpdateAllFromJson的问题。
我的JSON是:
[
{
"id":"487745454",
"barcode":"84555453",
"items":{
"12456788":{
"id":"12456788",
"name":"Item1"
},
"12456789":{
"id":"12456789",
"name":"Item2"
}
}
},
{
"id":"487745455",
"barcode":"84555453",
"items":{
"12456788":{
"id":"12456788",
"name":"Item1"
},
"12456791":{
"id":"12456789",
"name":"Item10"
}
}
}
]
我可以获取条形码和ID,但不能从include对象获取名称。 我的获取id和条形码的课程是
public class Notepad extends RealmObject {
@PrimaryKey
private int id;
private String barcode;
private RealmList<Items> items;
}
项目是:
public class Items extends RealmObject {
@PrimaryKey
private int id;
private String name;
}
我的问题是,如何通过createOrUpdateAllFromJson获取Item对象的名称
我不会更改返回此JSON的API。
请帮帮我
答案 0 :(得分:0)
"items":{
"12456788": {
"id": "12456788",
"name": "Item1"
},
"12456791": {
"id": "12456789",
"name": "Item10"
}
}
&#34; item&#34;的值是一个对象,但您尝试将其解析为RealmList。这不会奏效。还因为你的id是字符串而不是int。如果你的json是
,它会有用"items": [
{
"id": 12456788,
"name": "Item1"
},
{
"id": 12456789,
"name": "Item10"
}
]
我知道你不能控制json结构,但我强烈建议你联系那个做过的人并要求他改变它。
当前的json结构将转换为java中的Map<String, Item>
,这不是Realm支持的内容,除非您要手动解析json。