是否可以使用 jackson 庫中的 CsvMapper 將 pojo 中的數字欄位包裝在引號之間?
public class Pojo{
public String name;
public int age;
}
使用 CSVMapper 杰克遜
Pojo pojo = new Pojo();
pojo.name= "Peter";
pojo.age= 22;
final CsvMapper csvMapper = new CsvMapper();
csvMapper.configure(CsvGenerator.Feature.ALWAYS_QUOTE_STRINGS, true);
final CsvSchema schema = csvMapper.schemaFor(Pojo.class).withoutHeader().withQuoteChar(CsvSchema.DEFAULT_QUOTE_CHAR);
final ObjectWriter ow = csvMapper.writer(schema);
System.out.println(ow.writeValueAsString(pojo))
我的預期輸出將是"peter","4"但我得到"peter",4:c
uj5u.com熱心網友回復:
只需添加
@JsonFormat(shape=JsonFormat.Shape.STRING)
到你的 pojo 類的 int 欄位:
public class Pojo{
public String name;
@JsonFormat(shape=JsonFormat.Shape.STRING)
public int age;
}
它看起來很奇怪,因為它是一個 JSON 注釋而不是 CSV,但它足夠接近作業
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340838.html
標籤:爪哇 杰克逊-数据格式-csv
下一篇:IntelliJ中的JavaFXMaven專案。僅IntelliJ中缺少JavaFX運行時組件。JAR通過mvn包執行沒有問題
