嗨,我正试图使用一个名为csvReader的依赖项将CSV文件转换为JSON数组,但当我运行代码时,它错误地打印出JSON响应,我想知道为什么有人能给我指出正确的方向。
@GetMapping("/convert")
public List<List<String>> convertCSV() throws FileNotFoundException {
List<List<String>> records = new ArrayList<List<String>>();
try (CSVReader csvReader = new CSVReader(new FileReader("C:/Download/cities.csv"));) {
String[] values = null;
while ((values = csvReader.readNext()) != null) {
records.add(Arrays.asList(values));
}
} catch (IOException e) {
e.printStackTrace();
}
return values;
}
3条答案
按热度按时间8fsztsew1#
你的案子没什么大不了的。
您可以读取
csv
并构建json
。读取第一行并确定列。其余行为值。
测试日期:
该方法适用于
csv
的任意结构,不需要Map列。bhmjp9jg2#
这是因为你阅读字符串中的数据并打印字符串列表。如果你想将CSVMap到对象(JSON对象),你需要将CSV读取为bean对象,请找到以下代码片段以打印为JSON,将toString方法重写为JSON格式。
User.java
CsvReaderUtil.java
现在将这个用户列表打印为JSON对象。
mi7gmzs63#
下面是一个如何使用Java 11+将CSV转换为JSON的有用示例: