我有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/