jackson-dataformat-csv - 是不是可以自定义列名?
Posted
技术标签:
【中文标题】jackson-dataformat-csv - 是不是可以自定义列名?【英文标题】:jackson-dataformat-csv - are custom column names possible?jackson-dataformat-csv - 是否可以自定义列名? 【发布时间】:2017-03-06 09:30:45 【问题描述】:是否可以在将 POJO 序列化为 CSV 时定义自定义标头名称。
换句话说,如果我的 PoJO 中有一个名为 someField
的字段,例如,我希望输出 CSV 文件中的标题列命名为 Some custom field name
。
谢谢。
【问题讨论】:
你有想过这个吗? 遗憾的是,我尝试了几种不同的方式与杰克逊一起尝试,但没有成功。我回到了 apache commons csv。如果对你有帮助,我可以举个例子。 【参考方案1】:可以使用 mixins,因为您只想将这些名称用于 csv 导出:
假设您的 Pojo 类中有 id
字段和 getter。然后你创建 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);
【讨论】:
@Piotr 很抱歉一直没有注意到您的回复。我根据您帖子上的投票和 cmets 将您的答案标记为已接受。 csv 导入怎么样?以上是关于jackson-dataformat-csv - 是不是可以自定义列名?的主要内容,如果未能解决你的问题,请参考以下文章