Jackson JsonMappingException:无法识别的列'C':已知列“A”,“B”
Posted
技术标签:
【中文标题】Jackson JsonMappingException:无法识别的列\'C\':已知列“A”,“B”【英文标题】:Jackson JsonMappingException: Unrecognized column 'C': known columns "A","B"Jackson JsonMappingException:无法识别的列'C':已知列“A”,“B” 【发布时间】:2017-12-17 23:19:33 【问题描述】:如何从 myBean 创建部分表示
类 MyBean 一种, 乙, C
我想仅为 A、B 属性创建 csv
使用下面的代码抛出异常
CsvSchema schema = CsvSchema.builder().
.addColumn("A")
.addColumn("B")
.build();
CsvMapper 映射器 = 新 CsvMapper(); ObjectWriter writer = mapper.writer(schema);
字节[] csv = writer.writeValueAsBytes(bean);
得到异常:
JsonMappingException:无法识别的列“C”:已知列 "A","B"
我正在使用杰克逊 2.7.3
谢谢
【问题讨论】:
Ignoring new fields on JSON objects using Jackson的可能重复 你看过杰克逊的 JsonView 了吗?几天前我也有类似的问题,希望对您有所帮助:***.com/questions/45004348/… 【参考方案1】:用 @JsonIgnoreProperties(ignoreUnknown = true) 注释你的类
@JsonIgnoreProperties(ignoreUnknown = true)
class MyBean A, B, C
【讨论】:
【参考方案2】:像这样配置 CSV Mapper
CsvMapper mapper = new CsvMapper();
mapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN,true);
【讨论】:
以上是关于Jackson JsonMappingException:无法识别的列'C':已知列“A”,“B”的主要内容,如果未能解决你的问题,请参考以下文章