【发布时间】:2021-02-05 23:45:07
【问题描述】:
我有一组以下对象,我需要将其写入 CSV:
public class OutputObject {
private String userId;
private Map<String, Object> behaviour;
}
上面的集合可以有一个包含两个、三个或四个值的映射。
[
OutputObject1 [userId=11, behaviours={color=white, size=S, owner=Mr. A}],
OutputObject2 [userId=22, behaviours={color=black, isNew=true}],
OutputObject3 [userId=33, behaviours={color=green, size=L}]
]
需要 CSV 输出:
userId, color, size, owner, isNew
11, white, S, Mr. A,
22, black, , , true
33, green, L, ,
我从下面的 sn-p 开始打印出来:
// Set<OutputObject> outputObjectSet already received.
JSONArray jsonArrayObject = new JSONArray(outputObjectSet);
String csvValue = CDL.toString(jsonArrayObject);
FileWriter fileWriter = new FileWriter(fileObject, true);
fileWriter.write(csvValue);
fileWriter.close();
但上面是创建一个两列 csv,其中 userId 和 behaviours 打印所有地图对象 behaviours。如何实现上述类型的输出。
由于集合中可能包含大量此类对象,如何有效地做到这一点。
【问题讨论】:
标签: java arrays json set export-to-csv