Closed
Description
When reading given CSV with jackson-dataformat-csv 2.9.9
name,age,
Roger,27,
Chris,53,
using following lines
List<Person> persons = new CsvMapper()
.enable(CsvParser.Feature.ALLOW_TRAILING_COMMA)
.readerFor(Person.class)
.with(CsvSchema.emptySchema().withHeader())
.<Person> readValues(csvAsString)
.readAll();
...
class Person {
public String name;
public int age;
}
results in
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "" (class Person), not marked as ignorable (2 known properties: "name", "age"])
at [Source: (StringReader); line: 2, column: 10] (through reference chain: Person[""])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:823)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1153)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1589)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1567)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
at com.fasterxml.jackson.databind.MappingIterator.nextValue(MappingIterator.java:277)
at com.fasterxml.jackson.databind.MappingIterator.readAll(MappingIterator.java:317)
at com.fasterxml.jackson.databind.MappingIterator.readAll(MappingIterator.java:303)
The single trailing comma should be allowed in header columns too and should not raise an exception.
Metadata
Metadata
Assignees
Labels
No labels