java - jackson 如何解析也是日期值的字段

标签 java json jackson jackson-databind

我有HashMap<LocalDate,SundayServerValue>从中将数据保存为 json 到文件

HashMap<LocalDate,SundayServerValue>

我像这样制作json字符串

String jsonToSaved = ob.writeValueAsString(sundayUpdateDateMap);

或者这个

ob.writeValue(new File(pathToSundayMapFile), sundayUpdateDateMap);

这就是 String jsonToSaved 的样子

两者都返回相同的 json 格式,其中没有 "data":"yyyy-MM-dd"只是"yyyy-MM-dd"

{"2018-08-05":[{"ip":"1.7.2.3","window1":true,"window2":false}, 
{"ip":"2.1.2.2","window1":false,"window2":true}]}

类(class)

import json.LocalDateDeSerializer;

public class SundayJsonTemplate {

@JsonSerialize(using = ToStringSerializer.class)
@JsonDeserialize(using = LocalDateDeSerializer.class)
private LocalDate date;
private ArrayList<SundayServerValue> sundayServerValueList;

public SundayJsonTemplate() {
}

public SundayJsonTemplate(LocalDate date, ArrayList<SundayServerValue> 
sundayServerValueList) {
    this.date = date;
    this.setSundayServerValueList(sundayServerValueList);
}
[...]

}



public class SundayServerValue {
private String ip;
private boolean window1;
private boolean window2;
[...]

}

从这个 JSON 加载时,我如何制作 ObjectMaper()了解"yyyy-MM-dd"是字段名称和值?

最佳答案

在类型为 LocalDate 的字段上使用 @JsonSerialize@JsonDeserialize 注释 -

@JsonSerialize(using = ToStringSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)

关于java - jackson 如何解析也是日期值的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51649994/

相关文章:

mysql - 在 Apache::Sessions:MySQL session 中存储一个复杂的散列

Javascript:如何捕获空的 Facebook Graph json 对象? --> { "data": [ ] }

python - 应用程序在微服务架构中通信的最佳方式是什么

jackson - 使用 Jackson JSON 映射器序列化/反序列化 java 8 java.time

java - 将 json id 反序列化为对象列表

java - 什么是 java.constructors.single()?

java - 如何从 SSLSocket 中提取 X509Certificate[] 的实例?

java - 数组和对象的 Jackson 反序列化问题

java - JSP 中的 Scriptlet - 访问请求对象

java - 在重写 equals 方法期间存储中间结果