我必须使用打开的 csv 将嵌套的对象列表(StoreLocations)写入 Csv 文件。我的模型类是-
public class StoreLocation {
private String name;
private String city;
private int zip;
private String streetAndNumber;
private List<String> keywords;
private Double lat;
private Double lng;
private List<OpeningHours> openingHours;
}
public class OpeningHours {
private String dayOfWeek;
private String from1;
private String to1;
}
Run Code Online (Sandbox Code Playgroud)
我的写作方法——
public void getStoreLocationData(List<StoreLocation> storeLocations) throws IOException, CsvDataTypeMismatchException, CsvRequiredFieldEmptyException {
try (
Writer writer = Files.newBufferedWriter(Paths.get(storeLocationDataCsv))
) {
StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer)
.withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
.build();
beanToCsv.write(storeLocations);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码完美生成所有列,除了开放时间列表。这是当前的输出-
我宁愿有一个开放时间列,并将每个开放时间安排为一个新行。就像是
或在营业时间列内的 json …