我有一个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,它包含其他字符串和整数,为简单起见,我删除了这些字符串和整数。
答案 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和您的班级模型中是否有相同的名称