小编Mat*_*ski的帖子

数组的 Jackson-CSV 架构

我有CSV需要解析的文件。该文件的架构如下:

姓名、联系人 - 其中联系人是每个人的许多字符串,其中该联系人列的数量不规则。

例如:

john, john@wick.com, 123 123 123, fb/john.wick
mike, 123 0303 11
dave,
Run Code Online (Sandbox Code Playgroud)

我正在尝试为我的 bean创建一个CsvSchemawith :Jacskon CSV

public class Person {
    private String name;
    private String[] contacts;
}
Run Code Online (Sandbox Code Playgroud)

通过创建自定义架构:

CsvSchema schema = CsvSchema.builder()
    .addColumn("name")
    .addArrayColumn("contacts", ",")
    .build(); 
Run Code Online (Sandbox Code Playgroud)

但我得到这个:

com.fasterxml.jackson.dataformat.csv.CsvMappingException: Too many entries: expected at most 2
Run Code Online (Sandbox Code Playgroud)

如何解决Jackson CSV这样的问题?

Java代码:

CsvMapper mapper = new CsvMapper();
CsvSchema schema = CsvSchema.builder()
    .addColumn("name")
    .addArrayColumn("contacts", ",")
    .build();
MappingIterator<Person> it = mapper.readerFor(Person.class).with(schema)
    .readValues(csvString);
List<Person> all …
Run Code Online (Sandbox Code Playgroud)

java csv schema jackson deserialization

6
推荐指数
1
解决办法
9987
查看次数

标签 统计

csv ×1

deserialization ×1

jackson ×1

java ×1

schema ×1