jackson-dataformat-csv - 是否可以自定义列名?
jackson-dataformat-csv - are custom column names possible?
在将 POJO 序列化为 CSV 时是否可以定义自定义 header 名称。
换句话说,如果我的 PoJO 中有一个名为 someField
的字段,我希望输出 CSV 文件中的 header 列被命名为 Some custom field name
。
谢谢。
可以使用 mixins,因为您只想将这些名称用于 csv 导出:
假设您的 Pojo class 中有 id
字段和 getter。然后你创建 PojoFormat 摘要 class:
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);
在将 POJO 序列化为 CSV 时是否可以定义自定义 header 名称。
换句话说,如果我的 PoJO 中有一个名为 someField
的字段,我希望输出 CSV 文件中的 header 列被命名为 Some custom field name
。
谢谢。
可以使用 mixins,因为您只想将这些名称用于 csv 导出:
假设您的 Pojo class 中有 id
字段和 getter。然后你创建 PojoFormat 摘要 class:
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);