我嘗試使用jackson-dataformat-csv創建一個CSV文件,如this tutorial(Jackson註解方法)中所述。使用Jackson在CSV文件中設置本地化的列標題
這裏是我的CSV行的定義:
@JsonPropertyOrder(value = {"foo", "bar"})
public class MyDataCsv implements Serializable {
private String foo;
private String bar;
// getter & setter
//...
}
這是我建立我的CSV使用傑克遜:
private void generateCsv(OutputStream o, List<MyDataCsv> data) {
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(MyDataCsv.class).withHeader();
ObjectWriter objectWriter = mapper.writer(schema);
objectWriter.writeValue(o, data);
}
在我的輸出CSV我得到這個:
| foo | bar |
+------+------+
| foo1 | bar1 |
| foo2 | bar2 |
| foo3 | bar3 |
有沒有辦法讓列標題不是基於屬性名稱?我的意思是,我怎麼能得到例如這個CSV帶標籤的本地化:
| ProperLabel_EN | ProperLabel2_EN |
+----------------+-----------------+
| foo1 | bar1 |
| foo2 | bar2 |
| foo3 | bar3 |
或法文
| ProperLabel_FR | ProperLabel2_FR |
+----------------+-----------------+
| foo1 | bar1 |
| foo2 | bar2 |
| foo3 | bar3 |
乾杯
謝謝事實上它的工作原理。但正如我提到你的答案後:),我怎麼能得到相同的,但與本地化的標題列(例如法國「BonLibellé」和英文「ProperLabel」)?我不能使用@JsonProperty(「ProperLabel」),我可以嗎? – Tako