2
POJOをCSVにシリアライズするときに、カスタムヘッダー名を定義することは可能ですか?jackson-dataformat-csv - カスタムの列名は可能ですか?
つまり、PoJOにsomeField
という名前のフィールドがある場合、出力CSVファイルのヘッダー列をたとえばSome custom field name
としたいと思います。
ありがとうございました。
POJOをCSVにシリアライズするときに、カスタムヘッダー名を定義することは可能ですか?jackson-dataformat-csv - カスタムの列名は可能ですか?
つまり、PoJOにsomeField
という名前のフィールドがある場合、出力CSVファイルのヘッダー列をたとえばSome custom field name
としたいと思います。
ありがとうございました。
あなただけのCSVエクスポートのためにそれらの名前を使用したいので、それは、ミックスインを使用して可能です:
みましょうあなたは、ゲッターを使用してPOJOクラスでid
フィールドを持っていると仮定します。そして、あなたはPojoFormat抽象クラスを作成します。
public abstract class PojoFormat {
@JsonProperty("Report Id")
abstract Integer getId();
}
そして、あなたのコード内ではそのようにそれを使用する:あなたはこれを
CsvMapper mapper = new CsvMapper();
mapper.addMixIn(Pojo.class, PojoFormat.class);
CsvSchema schema = mapper.schemaFor(Pojo.class).withHeader();
mapper.writer(schema).writeValueAsString(objects);
把握しましたか? – 0xbe5077ed
悲しいことに、私は成功していないジャクソンといくつかの異なる方法で試しました。私はapache commons csvに落ちた。あなたに助けがあれば、私はその事例を見つけ出すことができます。 – bbd127