【发布时间】:2017-04-26 12:01:21
【问题描述】:
我是java新手,我想将csv文件转换成json
我正在使用以下代码示例将 csv 文件转换为 json 文件, 问题是,我在“withSchema(bootstrap)”上有一个错误,它说:“带有(CsvSchema)的方法对于 ObjectReader 类型是未定义的” 而且我不知道如何修复它,我已将 maven 依赖项更改为 2.9.0 版本,尝试 withtype(bootstrap) withCsvSchema(bootstap) 但仍然无法正常工作。
谢谢
代码如下:
package CsvData;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
public class csvjson {
public static void main(String[] args) throws Exception {
File input = new File("/x/data.csv");
File output = new File("/x/data.json");
List<Map<?, ?>> data = readObjectsFromCsv(input);
writeAsJson(data, output);
}
public static List<Map<?, ?>> readObjectsFromCsv(File file) throws IOException {
CsvSchema bootstrap = CsvSchema.emptySchema().withHeader();
CsvMapper csvMapper = new CsvMapper();
MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValues(file);
return mappingIterator.readAll();
}
public static void writeAsJson(List<Map<?, ?>> data, File file) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(file, data);
}
}
【问题讨论】:
-
请添加错误信息
-
返回的
List<Map>的内容是什么? -
您是否尝试找到该 ObjectReader 类的 JavaDoc?
-
@AlexT。它包含我的 csv 数据
-
@Jens 错误是:线程“main”java.lang.Error 中的异常:未解决的编译问题:ObjectReader 类型的方法 with(CsvSchema) 未定义