如果模型包含Date,则使用realm createObjectFromJson创建对象会引发异常

时间:2015-02-17 14:28:26

标签: android realm

我有两个模型的以下类:

public class A extends RealmObject {
    private String field1;
    private B field2;

    //getters and setters
    //...
}

public class B extends RealmObject {
    private String field3;
    private Date field4;

    //getters and setters
    //...
}

我收到的以下JSON与模型相对应:

{
    "field1" : "hi",
    "field2" : {
        "field3" : "hi again",
        "field4" : "2015-02-17T00:00:00"
    }
}

我正在尝试使用createObjectFromJson(A.class, jsonString)从JSON创建一个A对象,但我收到异常java.lang.NumberFormatException: Invalid long: "2015-02-17T00:00:00"

似乎领域将日期视为long而不是String。有没有办法设置某种日期格式?

1 个答案:

答案 0 :(得分:1)

Realm目前仅支持两种日期格式。你可以在这里看到它们:https://github.com/realm/realm-java/blob/master/realm/src/main/java/io/realm/internal/android/JsonUtils.java

但是,我们计划在实施JSON API的V2时添加对您的ISO8061日期格式的支持。您可以在此处跟进进度:https://github.com/realm/realm-java/issues/682

在此之前,您必须手动转换时间戳或使用GSON的日期格式:GSON - Date format