gpt4 book ai didi

android - RealmObject 到 JSON

转载 作者:太空狗 更新时间:2023-10-29 16:30:00 25 4
gpt4 key购买 nike

我在 Android 上使用 Realm,我有一个需要序列化为 JSON 的 RealmObject,我正在使用 GSON。模型看起来像:

@RealmClass
public class User implements RealmModel {

private String name;
private RealmList<RealmString> memberships;

... (getters and setters omitted)
}

当我从服务器读取它时(使用 Retrofit 和 GSON),我将它写入数据库,如下所示:

realm.executeTransaction(realm1 -> realm1.copyToRealmOrUpdate(user));

如果我随后尝试序列化该对象,它会起作用:

String userAsJson = getRealmSafeGson().toJson(test);

Realm safe GSON 几乎是来自文档的样板文件。我把它放在这里是为了避免噪音:https://gist.github.com/stephenroberts82/0e2cc93fa8983dd86b1f178b7c2c1a88

但是,下次我来从数据库中读取模型时,所有值都为空。这很好,这是记录在案的懒惰评估。所以我尝试复制一份,这样 GSON 就可以使用它了:

User copied = realm.copyFromRealm(user);
String userAsJson = getRealmSafeGson().toJson(copied);

但是这次不行了。它只是挂起并最终由于内存不足而崩溃。

最佳答案

这很可能是因为您的 User 包含一个循环引用,并且 copyFromRealm() 的默认参数表示它应该尝试尽可能长时间地复制它.

尝试类似copyFromRealm(user, 1)copyFromRealm(user, 2)

关于android - RealmObject 到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41850875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com