使用Java中的Jackson库将CSV转换为JSON?

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}]
猜你喜欢