Parse csv data and convert to nested json java

后端 未结 1 962
没有蜡笔的小新
没有蜡笔的小新 2020-12-18 16:34

I\'m searching for simplest way or any jar available to read csv file in java and convert to into nested json. I tried searching for various sources, but all the places i co

1条回答
  •  萌比男神i
    2020-12-18 17:05

    You can use JackSon to convert CSV to JSON. For example see the following code:

    import java.io.File;
    import java.util.List;
    import java.util.Map;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.dataformat.csv.CsvMapper;
    import com.fasterxml.jackson.dataformat.csv.CsvSchema;
    
    public class CSV2JSON {
    
        public static void main(String[] args) throws Exception {
            File input = new File("input.csv");
            File output = new File("output.json");
    
            CsvSchema csvSchema = CsvSchema.builder().setUseHeader(true).build();
            CsvMapper csvMapper = new CsvMapper();
    
            // Read data from CSV file
            List readAll = csvMapper.readerFor(Map.class).with(csvSchema).readValues(input).readAll();
    
            ObjectMapper mapper = new ObjectMapper();
    
            // Write JSON formated data to output.json file
            mapper.writerWithDefaultPrettyPrinter().writeValue(output, readAll);
    
            // Write JSON formated data to stdout
            System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(readAll));
        }
    }
    
    
    

    If you are using maven you can add the Jackson dependency as following:

       
         com.fasterxml.jackson.core
         jackson-databind
         2.8.9
       
       
         com.fasterxml.jackson.dataformat
         jackson-dataformat-csv
         2.8.9
        
    

    0 讨论(0)
    提交回复
    热议问题