<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.12.5</version>
</dependency>
public class Person {
@JsonProperty("Name")
private String name;
@JsonProperty("Age")
private int age;
// Getters and Setters
}
List<Person> personList = new ArrayList<>();
ObjectMapper mapper = new CsvMapper();
mapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN, true);
mapper.configure(JsonParser.Feature.IGNORE_UNDEFINED, true);
mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
mapper.configure(JsonParser.Feature.IGNORE_UNDEFINED, true);
ObjectWriter writer = mapper.writerFor(Person.class).with(CsvSchema.builder().setUseHeader(true).build());
String csvData = writer.writeValueAsString(personList);
String csvData = "Name,Age
John,25
Jane,30
";
ObjectMapper mapper = new CsvMapper();
mapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN, true);
mapper.configure(JsonParser.Feature.IGNORE_UNDEFINED, true);
mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
mapper.configure(JsonParser.Feature.IGNORE_UNDEFINED, true);
ObjectReader reader = mapper.readerFor(Person.class).with(CsvSchema.builder().setUseHeader(true).build());
List<Person> personList = reader.<Person>readValues(csvData).readAll();