【问题标题】:Realm.IO - Can JSON array be parsed using createOrUpdateAllFromJson?Realm.IO - 可以使用 createOrUpdateAllFromJson 解析 JSON 数组吗?
【发布时间】:2015-05-14 09:57:26
【问题描述】:

Doctor 类中,我有 RealmList - specializationList

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

使用 createOrUpdateAllFromJson 方法解析 JSON:

realm.createOrUpdateAllFromJson(Doctor.class, json);

我想做的是从 doctor 对象获取 RealmList:

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

但是specializationList的大小是0。

领域文档: 一些 JSON API 将返回 primitive 类型的数组,如整数或字符串,Realm 尚不支持。

可以使用 createOrUpdateAllFromJson 解析 JSON 数组(特化)吗?

【问题讨论】:

    标签: android json realm


    【解决方案1】:

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

    如果您将 Doctor 类更改为以下内容,它应该可以工作:

    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;
    ....
    

    【讨论】:

    • 如果JSON格式如下有没有解决办法: [ { "doctorId": "7d8e72d7-809b-4273-9a3f-fa21718dee7f", "specializations": [ "Specialization name 3" , " Specialization name 2" , "Specialization name 1" ], "key": "firstname0 middlename0 lastname0" } ] 我有一个类似于上面提到的 JSON 的 API 响应。任何帮助将不胜感激,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    相关资源
    最近更新 更多