Tag: dataformat

jackson-dataformat-csv不会忽略未知属性

尝试使用jackson-dataformat-csv解析.csv文件。 文件包含很多与我的程序无关的列。 试图对我的数据类使用@JsonIgnoreProperties(ignoreUnknown = true)和csvMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES),但都不起作用,应用程序抛出异常: com.fasterxml.jackson.databind.RuntimeJsonMappingException: Too many entries: expected at most 2 (value #2 (17 chars) "policy_issue_date") at [Source: (com.fasterxml.jackson.dataformat.csv.impl.UTF8Reader); line: 1, column: 37] at com.fasterxml.jackson.databind.MappingIterator.next(MappingIterator.java:194) at pl.polins.readers.oc.OcPolicyCsvReader.readNext(OcPolicyCsvReader.kt:25) at pl.polins.readers.oc.OcPolicyCsvReaderTest.should read PolicyCsv from .csv file(OcPolicyCsvReaderTest.groovy:19) Caused by: com.fasterxml.jackson.dataformat.csv.CsvMappingException: Too many entries: expected at most 2 (value #2 (17 chars) "policy_issue_date") at [Source: (com.fasterxml.jackson.dataformat.csv.impl.UTF8Reader); line: […]

你如何声明一个使用Jackson XML的JsonTypeInfo.As.WRAPPER_OBJECT的多态字段?

我在一个用Kotlin编写的Android应用程序中接收XML消息,我试图弄清楚如何在不是根节点时使用Jackson的多态反序列化。 这是一个简单的例子。 假设我收到两种类型的消息(“数据”消息和“文本”消息): <MSG> <TT> <id>3</id> <text>hi</text> </TT> </MSG> <MSG> <DT> <id>4</id> <data>93328afd0</data> </DT> </MSG> 消息由它们的包装元素来区分,所以我设置了一些sealed class声明: @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT) @JsonSubTypes( JsonSubTypes.Type(name = "TT", value = MT.TT::class), JsonSubTypes.Type(name = "DT", value = MT.DT::class)) sealed class MT { data class TT( val id: Int, val text: String ) : MT() data class DT( […]