【问题标题】:Adding objects with relations to realm database from json?从json添加与领域数据库有关系的对象?
【发布时间】:2015-11-24 15:47:12
【问题描述】:

我有 RealmObjects 与其他领域之间的关系:

class A extends RealmObject { 
    @PrimaryKey
    private int idA;
    private B objB;
}

class B extends RealmObject { 
    @PrimaryKey
    private int idB;
    private String foo;
}

我现在想使用createAllFromJson() 函数来初始化它们。 如何在 json 中引用objB

编辑: 我想通了:要使用的函数是createOrUpdateAllFromJson() :)

我只是希望将 B 的主键放在 Json 中以创建 A ([{idA:0, objB:42}]) 但这给了我一个例外,即 idB 是一个 int 并且不能转换为 JsonObject。

【问题讨论】:

    标签: json realm


    【解决方案1】:
    [{idA:0, objB: { id:"42"}]
    

    试试这个

    【讨论】:

      【解决方案2】:

      试试这个:

      {
          "id" : 1,
          "objB" : {
              "field_a" : 0,
              "filed_b" : "something"
          }
      }
      

      【讨论】:

      • 这样做的问题是,如果对象 A 引用相同的 B 和/或更交错的模型结构,这将导致高冗余。因为这些数据来自网络,所以这不是一个合适的解决方案。
      • @moritz 在这种情况下,您必须在objB 中定义@PrimaryKey,然后Realm 将尝试使用相同的@PrimaryKey 更新对象。如果没有定义 pk,将无法判断您是要创建新对象还是更新现有对象。
      • 我已经有了主键。但是我解决了,方法不对,看我的编辑
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多