jackson-dataformat-csv - 是否可以使用自定义列名?

bbd*_*127 7 csv jackson export-to-csv

在将POJO序列化为CSV时,是否可以定义自定义标题名称.

换句话说,如果我有一个someField在我的PoJO中命名的字段,我希望输出CSV文件中的标题列被命名Some custom field name为例如.

谢谢.

Pio*_*otr 11

使用mixins是可能的,因为您只想将这些名称用于csv导出:

假设你id的Pojo类中有一个带有getter的字段.然后你创建PojoFormat抽象类:

public abstract class PojoFormat {
    @JsonProperty("Report Id")
    abstract Integer getId();
}
Run Code Online (Sandbox Code Playgroud)

在你的代码中使用它:

    CsvMapper mapper = new CsvMapper();

    mapper.addMixIn(Pojo.class, PojoFormat.class);
    CsvSchema schema = mapper.schemaFor(Pojo.class).withHeader();
    mapper.writer(schema).writeValueAsString(objects);
Run Code Online (Sandbox Code Playgroud)