2015-05-14 54 views
2

Inside Doctor class,我有RealmList - specializationListRealm.IO - 可以使用createOrUpdateAllFromJson解析JSON数组吗?

public class Doctor extends RealmObject { 

    @PrimaryKey 
    private String doctorId; 
    private FullName fullName; 
    private Age age; 
    private String organizationId; 
    private Position position; 
    private String category; 
    private String loyalty; 
    private RealmList<Specialization> specializationList; 
    private Contacts contacts; 
    private String key; 
.... 

专业化

public class Specialization extends RealmObject{ 

    private String specializationName; 
... 

医生JSON:

[ 
    { 
    "doctorId": "7d8e72d7-809b-4273-9a3f-fa21718dee7f", 
    "doctorFullName": { 
     "firstName": "FirstName0", 
     "lastName": "LastName0", 
     "middleName": "MiddleName0" 
    }, 
    "doctorPosition": { 
     "positionName": "PositionName0", 
     "department": "Department0" 
    }, 
    "organizationId": "7cfaf5c0-127a-4cfc-b73b-52a35fd02ffd", 
    "specializations": [ 
     { 
     "specializationName": "Specialization name 3" 
     }, 
     { 
     "specializationName": "Specialization name 2" 
     }, 
     { 
     "specializationName": "Specialization name 1" 
     } 
    ], 
    "key": "firstname0 middlename0 lastname0" 
    } 
] 

解析JSON使用createOrUpdateAllFromJson方法:

realm.createOrUpdateAllFromJson(Doctor.class, json); 

我所试图做的是从医生越来越RealmList对象:

RealmList<Specialization> specializationList = doctor.getSpecializationList(); 

但specializationList的大小为0。

境界文档: 一些JSON的API将返回基本数组类似整数或字符串,目前Realm尚不支持。

可以使用createOrUpdateAllFromJson来解析JSON数组(专业化)吗?

回答

3

是的,Realm应该能够解析它,但看起来你的命名不正确。你的Doctor类叫它specializationList,但是在你的JSON中是specializations

如果你改变你的医生级别以下它应该工作:

public class Doctor extends RealmObject { 

    @PrimaryKey 
    private String doctorId; 
    private FullName fullName; 
    private Age age; 
    private String organizationId; 
    private Position position; 
    private String category; 
    private String loyalty; 
    private RealmList<Specialization> specializations; 
    private Contacts contacts; 
    private String key; 
.... 
+0

有任何解决方案,如果JSON格式如下: [ { “doctorId”:“7d8e72d7-809b-4273 -9a3f-fa21718dee7f”, “特”:[ “专业化名称3” , “专业化名称2” , “专业化名称1” ], “键”: “firstname0 middlename0 lastname0” } ] 我有一个类似于上面提到的JSON的API响应。任何帮助都会大大降低, – Rajendra