【发布时间】:2022-10-06 15:00:47
【问题描述】:
我有一个复杂的 java 对象,我想使用 Jacksons CsvMapper 映射到 csv。
public class TestObject {
private Map<String, Map<String, String>> values;
@JsonAnyGetter
public Map<String, Map<String, String>> getValues() {
return values;
}
@JsonAnySetter
public void setValues(Map<String, Map<String, String>> values) {
this.values = values;
}
}
该对象是一个 TestObjects 列表:
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(clazz).withUseHeader(true);
ObjectWriter myObjectWriter = mapper.writer(schema);
return myObjectWriter.writeValueAsString(objectList);
但是,当我尝试将其映射到 csv 时,由于地图中的值,我得到一个错误,因为它是地图的地图。
Caused by: com.fasterxml.jackson.dataformat.csv.CsvMappingException: Unrecognized column \'test_column\': known columns: ....
有谁知道我怎样才能让 jacksons csvmapper 将此地图正确转换为 csv?