2016-06-30 68 views
1

我嘗試使用REALM ORM庫作爲我的項目,並且我遇到了createOrUpdateAllFromJson問題。Realm - createOrUpdateAllFromJson多維JSON

我的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" 
     } 
    } 
    } 
] 

我可以得到條形碼和編號,而不是從獲取名稱包含對象。 我對GET 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; 
} 

我的問題是,如何從項目對象throught createOrUpdateAllFromJson

得到名字我不改變的API,它的回報這個JSON。

請幫我

+0

你如何訪問JSON?我應該更加關注問題。 – Carlo

回答

1
"items":{ 
    "12456788": { 
     "id": "12456788", 
     "name": "Item1" 
    }, 
    "12456791": { 
     "id": "12456789", 
     "name": "Item10" 
    } 
} 

該值「項目」是一個對象,但你嘗試把它解析爲RealmList。這不起作用。還因爲你的ID是字符串而不是整數。它會工作,如果你的JSON是

"items": [ 
    { 
     "id": 12456788, 
     "name": "Item1" 
    }, 
    { 
     "id": 12456789, 
     "name": "Item10" 
    } 
] 

我知道你不控制json結構,但我強烈建議你聯繫誰做的人,並要求他改變它。

當前的json結構會翻譯成java中的Map<String, Item>,這不是由Realm支持的東西,除非您要手動解析json。