首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCSV:将嵌套Bean映射到CSV文件

OpenCSV:将嵌套Bean映射到CSV文件
EN

Stack Overflow用户
提问于 2019-12-07 13:41:08
回答 1查看 4.3K关注 0票数 6

我正在尝试将bean映射到CSV文件,但我的bean有其他嵌套bean作为属性的问题。所发生的情况是,OpenCSV遍历属性,找到一个bean,然后进入它并映射该bean内部的所有数据,如果它找到另一个bean,它就会继续进行下去。如何使用OpenCSV处理嵌套bean?如何确保它映射嵌套bean的正确属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-11 15:39:29

在OpenCSV 5.0中,我们可以通过@CsvRecurse注释映射嵌套bean,而无需使用MappingStrategy。

通过注释@CsvRecurse添加了将映射从输入/输出列拆分到多个嵌入式been的成员变量的能力。仍然需要一个根bean。

Csv文件

代码语言:javascript
复制
id,cardNumber,holder
1,1234567 890,abc

根豆

代码语言:javascript
复制
public class DataSet {

    @CsvBindByName
    private String id;

    @CsvRecurse
    private MyNumber myNumber;

    //getter and setter
}

嵌套豆

代码语言:javascript
复制
public class MyNumber {

    @CsvBindByName
    private String cardNumber;

    @CsvBindByName
    private String holder;

    // getter and setter
}

读豆子

代码语言:javascript
复制
  public static void main(String[] args) throws IOException {
        BufferedReader reader = Files.newBufferedReader(Paths.get("path-to-csv-file.csv"));
        List<DataSet> beans = new CsvToBeanBuilder<DataSet>(reader).withType(DataSet.class).build().parse();
    }

参考文献:http://opencsv.sourceforge.net/#multivaluedmap_based_bean_fields_many_to_one_mappings

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59226581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档