Android 是否可以将领域对象转换为JSON对象?

Android 是否可以将领域对象转换为JSON对象?,android,json,realm,Android,Json,Realm,从我的领域数据库向web服务器发送对象列表时出现问题。当没有检测到互联网连接时,应用程序应该在本地保存事务(我使用的是领域数据库)。然后,当应用程序检测到互联网连接时,my realm数据库中的数据应该使用JSON格式发送到web服务器。 Tia。可以,但必须为类注册TypeAdapter,并为类定义排除策略 例如,您有一个User类,如下所示: public class User extends RealmObject { @PrimaryKey private String

从我的领域数据库向web服务器发送对象列表时出现问题。当没有检测到互联网连接时,应用程序应该在本地保存事务(我使用的是领域数据库)。然后,当应用程序检测到互联网连接时,my realm数据库中的数据应该使用JSON格式发送到web服务器。
Tia。

可以,但必须为类注册
TypeAdapter
,并为类定义排除策略

例如,您有一个
User
类,如下所示:

public class User extends RealmObject {
    @PrimaryKey
    private String id;
    private String name;
    private String email;

    // Getter and setter methods.
}
您必须创建一个用户
序列化程序

public class UserSerializer implements JsonSerializer<User> {

    @Override
    public JsonElement serialize(User user, Type typeOfSrc, JsonSerializationContext context) {
        final JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("id", user.getId());
        jsonObject.addProperty("email", user.getEmail());
        jsonObject.addProperty("name", user.getName());
    }
}

我想这对你有帮助。祝你好运。

Realm对象是java对象,所以是的,这是可能的。.我用GSON尝试了Realm,但我无法将Realm对象设置为POJO。请使用
GSON.toJson(Realm.copyFromRealm(myObj))
。这应该是现成的。你不再需要自定义类型适配器了。只需使用
realm.copyFromRealm(obj)
@ChristianMelchior将分离的副本发送到GSON,我想将基于JSON的数据解析到扩展realm的对象。你能帮忙吗?我不想存储数据,我只想解析。
  new GsonBuilder()
        .setExclusionStrategies(new ExclusionStrategy() {
            @Override
            public boolean shouldSkipField(FieldAttributes f) {
                return f.getDeclaringClass().equals(RealmObject.class);
            }

            @Override
            public boolean shouldSkipClass(Class<?> clazz) {
                return false;
            }
        })
        .registerTypeAdapter(User.class, new UserSerializer())
        .create();