我认为,您应该使用它
MappingIterator来解决问题。请参见以下示例:
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 JacksonProgram { 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); }}有关更多信息和示例,请参见此页面:jackson-dataformat-csv。



