【问题标题】: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。如果对你有帮助,我可以举个例子。

标签: csv jackson export-to-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 导入怎么样?
猜你喜欢
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
相关资源
最近更新 更多