{
"id" : "1",
"birthday" : 401280850089
}
public class FbProfile {
long id;
@JsonDeserialize(using = LocalDateDeserializer.class)
LocalDate birthday;
}
public FbProfile loadFbProfile(File file) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
FbProfile profile = mapper.readValue(file, FbProfile.class);
return profile;
}
但它抛出了一个异常:
JSONMappingException:意外标记(VALUE_NUMBER_INT),预期的value_string:预期的数组或字符串。
如何将epoch反序列化为localdate
?我想补充一点,如果将datatype从localdate
更改为java.util.date
,它可以非常好地工作。因此,最好反序列化到java.util.date
并创建getter和setter,它们将执行到localdate
的转换。
我已经设法编写了自己的反序列化器(谢谢@ole v.v.给我指出了Java 8 LocalDate Jackson后的格式):
public class LocalDateTimeFromEpochDeserializer extends StdDeserializer<LocalDateTime> {
private static final long serialVersionUID = 1L;
protected LocalDateTimeFromEpochDeserializer() {
super(LocalDate.class);
}
@Override
public LocalDateTime deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
return Instant.ofEpochMilli(jp.readValueAs(Long.class)).atZone(ZoneId.systemDefault()).toLocalDateTime();
}
}
关于时区的通知也很有用。谢谢!
仍然悬而未决的问题是,如果不编写自己的反序列化器,是否可以做到这一点?
我有一个JSON字符串,它将空列表标记为而不是。因此,例如,如果我有一个没有子对象的对象,我将收到这样的字符串: 我想将其反序列化为父类,将子类正确设置为子类的空列表。 对于上面的JSON字符串,我想要一个将其id设置为13的对象,并将子元素设置为新的ArrayList 我知道如何为整个类使用注释 然后呢 但是,我想解决从字符串正确实例化列表的一般问题: 我能得到这样的东西吗?
我有一个具有两个属性的JSON对象:“key”(字符串)和“value”(可以反序列化为Java bean)。 问题是,给定一个这样的物体列表,我能把它反序列化为一张地图吗? 当前使用Jackson-databind 2.1
问题内容: 使用Jackson 2,我正在寻找一种 通用的 方式将对象序列化为单个值(然后序列化它们,然后再填充该单个字段),而不必重复创建JsonSerializer / JsonDeserializer来处理每种情况。@JsonIdentityInfo批注非常接近,但由于我知道,它将始终对完整的子对象进行序列化,因此略微遗漏了该标记。 这是我想做的一个例子。给定的类: 我希望Order可以序列
有没有一个Jackson注释允许将数组反序列化到我的POJO的特定字段中?我可以用自定义的反序列化器很容易地做到这一点,但我希望用类内联的方式来完成。 例如,我从Elasticsearch返回了以下JSON。 我的POJO如下: 我希望“排序”数组(在数组[0]中总是有一个long,在数组[1]中总是有一个String)被反序列化如下: 我发现了另一个问题,唯一的答案是自定义的反序列化器,如果可以
问题内容: 考虑以下枚举和类: 并考虑以下主要功能: 当前,该主输出为: 这种输出并不适合我,因为除了字符串的,我想它是,这是序号值在枚举。 所以我想要得到的实际结果是: 有一些优雅的方法可以使其表现为这种方式吗? 问题答案: 它应该通过指定映射器来工作。 如注解的Javadoc所述,这也适用于反序列化: 注意:当用于Java枚举时,一个附加功能是带注释的方法返回的值也被视为要反序列化的值,而不仅
我在试着读我的。json文件。Is是一个车辆存储类。 这是错误: com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造的实例(尽管至少存在一个Creator):无法构造的实例(尽管至少存在一个Creator):没有字符串参数构造函数/工厂方法来从[Source:(File); line: 1,列: 1]处的字符串值反序列化