Java 使用jackson csv解析双精度值时发生异常

Java 使用jackson csv解析双精度值时发生异常,java,jackson,fasterxml,Java,Jackson,Fasterxml,我在使用fasterxml解析CSV文件中的双值时遇到一些问题。 CSV文件以标题ID开头;大小下面的行是1;27.98;... 我还有一个模型来映射CSV文件: class Model{ private String id; private double size; //... } 此外,我还按照教程页面上的说明配置了CSV解析器: //... CsvSchema schema = CsvSchema.builder().addColumn("id").addColumn(

我在使用fasterxml解析CSV文件中的双值时遇到一些问题。 CSV文件以标题
ID开头;大小下面的行是
1;27.98;...
我还有一个模型来映射CSV文件:

class Model{
   private String id;
   private double size;
   //...
}
此外,我还按照教程页面上的说明配置了CSV解析器:

//...
CsvSchema schema = CsvSchema.builder().addColumn("id").addColumn("size")
     .setColumnSeparator(';')
     .setEscapeChar('"')
     .build();
CsvMapper mapper = new CsvMapper();
MappingIterator<Model> it = mapper.reader(Model.class).with(schema)
    .readValues(new File(csvFile));
while(it.hasNext()){
    Model row = it.next();
    System.out.println(row);
}
/。。。
CsvSchema schema=CsvSchema.builder().addColumn(“id”).addColumn(“大小”)
.setColumnSeparator(“;”)
.setEscapeChar(“”)
.build();
CsvMapper映射器=新的CsvMapper();
MappingIterator it=mapper.reader(Model.class).with(schema)
.readValues(新文件(csvFile));
while(it.hasNext()){
Model row=it.next();
系统输出打印项次(行);
}
当我运行解析器时,“id”被正确解析,但编译器显示异常消息
RuntimeJsonMappingException:无法从字符串值“size”构造double的实例:不是有效的double值

我不明白到底是什么问题,因为27.98是一个有效的双精度值

配置中是否缺少某些内容?

CsvMapper
上使用
.withHeader()
,如下所示:

CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(Model.class).withHeader();

然后,您可以将标题保留在csv文件中。

您可以发布一个csv文件的示例吗?看起来它正在解析csv文件的标题。字符串“size”不是有效的双精度字符串。我也考虑过这一点,并尝试过删除标题。这是csv文件:
id;size;rad;thickness
01;27.98;1;1.5;确切值是多少如果您的csv没有标题,例如'01;19.99;1;2'?(无需最终;在行尾)Omg,则会收到错误消息。我一直使用错误的csv。我从错误的csv中删除了标题:D。感谢您的帮助。当然是标题。“大小”不是有效的双精度值:D