Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chuyển đổi CSV sang JSON bằng thư viện Jackson trong Java

Jackson là một API JSON cho Java cung cấp nhiều cách khác nhau để làm việc với JSON. Chúng ta có thể chuyển đổi dữ liệu CSV sang JSON bằng lớp CsvMapper, một ObjectMapper chuyên biệt với chức năng mở rộng để tạo các instance CsvSchema từ POJO. Có thể sử dụng phương thức reader() để xây dựng ObjectReader với cài đặt mặc định. Để thực hiện chuyển đổi này, cần import gói com.fasterxml.jackson.dataformat.csv.

Ví dụ minh họa

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();
        }
    }
}

Kết quả đầu ra

[{last name=Chandra, first name=Ravi, location=Bangalore}]

Lưu ý quan trọng: File CSV đầu vào cần có dòng header (dòng tiêu đề cột) để withHeader() hoạt động đúng. Jackson cũng hỗ trợ tùy chỉnh schema, mapping với POJO thay vì Map để type-safe hơn.