【发布时间】:2018-11-24 22:47:36
【问题描述】:
我有以下 YAML 文件:
---
-
id: 001
start: 21.11.2018
additional:
dependency:
result: 2
我喜欢用杰克逊作为简单的List<Map<String, Object>> 阅读。
为此,我使用以下代码
private List<Map<String, Object>> readDefaultInputAsMap() {
var objectMapper = new ObjectMapper(new YAMLFactory());
objectMapper.setDateFormat(new SimpleDateFormat("dd.MM.yyyy"));
try {
return objectMapper.readValue(inputResource, new TypeReference<List<Map<String, Object>>>() {
});
} catch (IOException e) {
e.printStackTrace();
return new ArrayList<>();
}
}
不幸的是,这会返回一个只有id、start 和result 的地图,因此忽略其他两个。
我怎样才能让 Jackson 解析文件并创建完整的地图,例如null 作为空键的值? (或任何其他默认值)?
【问题讨论】: