概要
普段システム間のやりとりはjsonを使用しているが、
システムの運用をしているとjson形式のデータだと扱いづらい…
→CSVならエクセルでいろいろできて便利そう!
と思ったのでObjectからCSV形式の文字列を生成する方法をまとめてみました。
ライブラリ
jackson-dataformat-csvを使用します。
build.gradle
implementation 'com.fasterxml.jackson.dataformat: jackson-dataformat-csv:2.12.3'
実装
ここではは以下のObjectを扱います。
@Data
public class SampleEntity {
private int id;
private String name;
}
早速実装です。
// インスタンスの生成
var entity = new SampleEntity();
entity.setId(1);
entity.setName("rhirabay");
// mapperを生成
var csvMapper = new CsvMapper();
// csvを生成
var csv = csvMapper.writerFor(SampleEntity.class)
.with(csvMapper.schemaFor(SampleEntity.class))
.writeValueAsString(entity);
System.out.println(csv); // 1,rhirabay
これだけ!
細かい設定や機能はいろいろあるのだろうが、
POJOを扱うぶんにはこれで良さそう。