【发布时间】:2018-08-02 09:21:25
【问题描述】:
我有 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}]}
类
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" 是字段名称和值?
【问题讨论】:
-
JSON 很简单,它只有一个键值对。您的数据应该是其中之一。
标签: java json jackson jackson-databind