3

我正在使用 camel-bindy 将 CSV 解组为 Java 对象。是否可以忽略特定列?考虑以下示例,我不想映射第 3 列(地址)。请让我知道是否有办法这样做。实际上,我的 CSV 中有超过 10 列我想忽略。

示例:- CSV 文件:

 Header   : Name,Mobile,Address
 Data Row : Rabbit,007,Rabbit Hole

Java类中的绑定映射:

@CsvRecord(separator = "," , skipFirstLine = true) 
public class Contacts {

@DataField(pos = 1, trim=true)
private String name;

@DataField(pos = 2, required = true, trim=true) 
private Long Mobile;

谢谢你的时间!

4

2 回答 2

2

最新版本支持skipField

@CsvRecord(分隔符 = ",",skipField =true)

于 2018-12-17T04:57:28.007 回答
0

您不能跳过一列。Bindy 遍历每个标记并检查是否存在关联的数据字段,请参阅BindyCsvFactory

// Get DataField from model
DataField dataField = dataFields.get(pos);
ObjectHelper.notNull(dataField, "No position " + pos + " defined for the field: " + data + ", line: " + line);

唯一的解决方案是定义一个被忽略的类属性:

@DataField(pos = 1)
public String ingoreMe;
于 2014-11-19T20:00:03.757 回答