#java #json #csv #jackson
#java #json #csv #джексон
Вопрос:
У меня есть CSV, определенный как показано ниже.
employee.name,employee.age,employee.dept.name,employee.dept.id,employee.dept.address.firstLine,employee.dept.address.postCode Джон Доу, 28 лет, отдел продаж, 1001, 21-я улица, WX2 2XV Сэм Смит, 22 года, ИТ, 2001, 22-я улица, XX2 2VV
Я хотел бы преобразовать приведенный выше CSV в следующую структуру JSON
[ "сотрудник":{ "имя": "Джон Доу", "возраст": 28 }, "отдел":{ "имя":"Продажи", "id": 1001, "адрес":{ "Первая строка": 21-я улица, "Почтовый индекс": WX22XV } } "сотрудник":{ "имя": "Сэм Смит", "возраст": 22 }, "отдел":{ "name":"ЭТО", "идентификатор": 2001, "адрес":{ "Первая строка": 22STREET, "Почтовый индекс": XX22VV } } ]
Так что мой Jackson ObjectMapper использует JSON и преобразует его в следующий объект Employee.
сотрудник класса { Имя строки; возраст; Отдел dept; } Отдел классов { Имя строки; Идентификатор int; Адрес адрес; } Адрес класса { Строка первой строки; Почтовый индекс строки; }
Я использовал CSVMapper для загрузки файла CSV, но не смог найти прямой способ преобразования в ObjectMapper, чтобы я мог создавать базовые объекты Java.
Предполагается, что заголовок CSV содержит фактические имена атрибутов и объектов.
Пожалуйста, примите мою благодарность заранее.
Я не хочу использовать аннотации, и мне нужно преобразовать этот CSV в устаревшие объекты Java.
Комментарии:
1. Я не могу помочь вам с JSON, но, пожалуйста, проверьте ваш пример на наличие опечаток. Ваш адрес для сопоставления объектов Jackson в первой строке, а сотрудник JSON не является empoloyee.
2. Для меня JSON выглядит немного странно.. Разве вы не хотите иметь массив JSON вместо одного объекта json, содержащего данные сотрудника, отдела?