2016-07-11 3 views
0

В данный момент я работаю над созданием csv из объекта, и я застрял. Я не знаю, как генерировать csv для вложенного класса. Например, мы получили следующие классы:Создание CSV-файла с объекта в java

@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, и я не нашел решения. Основная проблема заключается в том, что я не знаю, какие поля находятся в объекте, и нужно динамически создавать заголовки. Есть ли простой способ или библиотека, которая позволяет эту операцию? Я был бы благодарен за любые советы.

+0

Есть ли какая-либо конкретная причина, по которой вы хотите использовать CSV, например, JSON? –

+0

Есть некоторые причины –

ответ

0

Возможно, у вас был ответ, если он был отправлен в Google. Он уже имеет ответ здесь: Object to CSV

Использование супер CSV: Using super csv to write in csv from object

+0

На самом деле он не работает с вложенным классом, только для pojos –

+0

Csvs не работают для вложенных классов. Они также могут быть представлены в формате Excel. Вложенные классы не могут быть представлены в этом формате. Вы должны пойти с пустыми полями. –

0

Какова цель создания файла CSV? Нужно ли вам сохранять вложенность классов? Вы перестраиваете объекты из файлов csv?

Если вас интересуют только данные ваших объектов, подумайте о сокращении всего до примитивных типов (или любого другого класса, для которого у вас есть значимая функция toString()), а именно сглаживания вашей иерархии. возраст, имя ==> возраст, firstName, lastName

Вы можете использовать отражение для динамического получения иерархии.

Должен ли быть выход csv? Вы рассматривали использование другого формата, который сохраняет иерархию, такую ​​как JSON или XML?

Смежные вопросы