Android:使用嵌套的JSON对象将JSON映射到RealmObject并不起作用

时间:2015-04-22 09:46:42

标签: android json realm

我有一个JSON字符串,其中包含嵌套的json,如

{
    "name": "name",
    ...
    ...
    "profile": {
        "id": 987,
        "first_name": "first name"
        ...
        ...
    }
}

我尝试使用方法JSON将此Realm映射到realm.createObjectFromJson(Class clazz, String string),问题是嵌套的JSON未映射,生成的{{1}与RealmObject对应的实例对所有字段都有"profile"&{39}和0' s。我在创建操作之前使用了null,在之后使用了realm.beginTransaction()

我在我的Android项目中使用realm.commitTransaction()

你能告诉我我做错了什么吗?

感谢。

EDIT 这些是我的模型类。简单的RealmObjects链接在一起

'io.realm:realm-android:0.80.1'

配置文件类只包含getter和setter,它包含其他字符串和整数,为简单起见,我删除了这些字符串和整数。

2 个答案:

答案 0 :(得分:5)

您的JSON名称与您的子对象字段名称不匹配,这就是您没有看到任何数据的原因。您的profile名称与SomeClass中的字段匹配,这意味着创建了对象(使用默认值),但由于Profile中没有任何字段匹配,因此没有设置任何字段。< / p>

firstName != first_name
userId != id   

如果您希望在JSON和Java模型中使用单独的名称,则应使用类似GSON(http://realm.io/docs/java/#gson)的内容,因为Realm尚不支持。

答案 1 :(得分:0)

使用它:

public class Profile extends RealmObject {
    private String first_name;
    private int id;
    ...
}

检查JSON和您的班级模型中是否有相同的名称