从java中的对象生成CSV文件

时间:2016-07-11 15:59:19

标签: java csv

此刻我正在努力从对象生成csv而且我遇到了困难。我不知道如何为嵌套类生成csv。例如,我们有以下课程:

@Getter
@Setter
public class Person {
  private int age;
  private Name name;
}

@Getter
@Setter
public class Name {
  private String firstName;
  private String lastName;
}

存在巨大的问题。实际上我测试了像jackson和commons csv这样的少数库,但我找不到解决方案。主要问题是我不知道对象中有哪些字段,必须动态准备标题。是否有允许该操作的简单方法或库?我会感谢任何提示。

2 个答案:

答案 0 :(得分:1)

如果用Google搜索,你可能得到了答案。 它已经在这里回答:Object to CSV

使用超级csv:Using super csv to write in csv from object

答案 1 :(得分:0)

创建csv文件的目的是什么?您是否有必要保留类的嵌套?您是否正在从csv文件重构对象?

如果你只对对象的数据感兴趣,可以考虑将所有内容简化为原始类型(或者你有一个有意义的toString()的类),也就是说你的层次结构扁平化。 年龄,姓名==> age,firstName,lastName

您可以使用反射来动态获取层次结构。

输出必须是csv吗?您是否考虑使用保留JSON或XML等层次结构的其他格式?