Jackson CsvMapper 将对象与地图映射到 csv
我有一个复杂的 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?
I have a complex java object that I want to map to csv using Jacksons CsvMapper.
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;
}
}
The object is a list of TestObjects:
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(clazz).withUseHeader(true);
ObjectWriter myObjectWriter = mapper.writer(schema);
return myObjectWriter.writeValueAsString(objectList);
However when I try to map this to csv, I get an error due to the values in the map since its a map of map.
Caused by: com.fasterxml.jackson.dataformat.csv.CsvMappingException: Unrecognized column 'test_column': known columns: ....
Does anyone know how I can get jacksons csvmapper to correctly convert this map of maps to csv?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可能会解决你的问题。完整示例此处
This might solve your problem. Full example here