如果模型包含日期,则使用领域 createObjectFromJson 创建对象会抛出异常
Creating an object with realm createObjectFromJson throws exception if the model contains a Date
我有以下两个模型 类:
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"
。
realm 似乎将日期视为 long
而不是 String
。有没有办法设置某种日期格式?
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
我有以下两个模型 类:
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"
。
realm 似乎将日期视为 long
而不是 String
。有没有办法设置某种日期格式?
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