【问题标题】:why CreateObjectFromJSON fails at the first run on Realm?为什么 CreateObjectFromJSON 在 Realm 上第一次运行时失败?
【发布时间】:2015-03-26 12:10:19
【问题描述】:

再次是我在 Realm 上的另一个问题,所以我对 CreateObjectFromJSON 有一个小问题,即 Caused by: io.realm.exceptions.RealmException: Primary key constraint broken. Value already exists:0 即使我看到in Github 那是一个错误,它已得到纠正,但我在 Realm Android 的最新版本 0.80 中发现了同样的错误。 但是当我使用 CreateOrUpdateObjectFromJson 它可以正常工作 解决办法是什么 ?我

【问题讨论】:

  • 请注意,如果您的 JSON 不包含字段,则会为其分配一个默认值,即整数 0。那么很可能您的某些 JSON 没有您设置为主键的字段?你的 JSON 是什么样子的?
  • .....{ application: { parameters: { id: 999, account_id: 41, languages: [ "fr", "en" ], url: "", title: "Le Cep", client: "Hôtel Le Cep", creation_date: 1381218600, modification_date: 1418722140, foreground_color: "613D53", background_color: "FFFFFF", title_font: "Palatino-Bold", body_font: "Avenir-Book", title_font_android: "Droid", body_font_android: "Droid", title_color: "5E314C", body_color: "0", tabs_background_color: "5E314C", side_tabs_background_color: "5E314C",
  • 你能在一个小示例项目中重现这个问题吗?
  • 好的,我会试试的,我很快就会回来

标签: android database realm


【解决方案1】:

我遇到了同样的错误,原因不明,因为我的 JSON 将主键指定为一个疯狂的大数字,我知道我的数据库不包含该数字。然后我意识到,我在将 JSON 转换为 Realm 数据库时遇到了一个错误,可能那里有一个部分复制的 JSON 文件?所以我想,从我有错误的时候起,肯定有一个不完整的副本。我刚刚卸载了该应用程序,重新安装,重新启动并且它工作。所以也许这发生在你的代码中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 2022-01-20
    • 2020-03-28
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多