Jackson是一种Java JSON API,它提供了几种使用JSON的不同方式。我们可以使用CsvMapper类将CSV数据转换为JSON数据,它是专用的ObjectMapper,具有从pojo中生成CsvSchema实例的扩展功能。我们可以使用reader()方法来构造带有默认设置的ObjectReader。为了进行转换,我们需要导入com.fasterxml.jackson.dataformat.csv包。
在以下示例中,将CSV转换为JSON。
import java.io.*; import java.util.*; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.dataformat.csv.*; public class CsvToJsonTest { public static void main(String args[]) throws Exception { File input = new File("input.csv"); try { CsvSchema csv = CsvSchema.emptySchema().withHeader(); CsvMapper csvMapper = new CsvMapper(); MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader().forType(Map.class).with(csv).readValues(input); List<Map<?, ?>> list = mappingIterator.readAll(); System.out.println(list); } catch(Exception e) { e.printStackTrace(); } } }
输出结果
[{last name=Chandra, first name=Ravi, location=Bangalore}]