Jackson เป็น Java JSON API ที่ให้วิธีการจัดการ JSON หลากหลาย สามารถแปลงข้อมูล CSV เป็น JSON ได้โดยใช้คลาส CsvMapper ซึ่งเป็น ObjectMapper แบบเฉพาะเจาะจง มีฟังก์ชันขยายสำหรับสร้าง CsvSchema จาก POJO ใช้เมธอด reader() สร้าง ObjectReader ด้วยการตั้งค่าเริ่มต้น ต้อง import package 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}]
หมายเหตุ: ไฟล์ input.csv ต้องมีหัวคอลัมน์ (header) เช่น first name,last name,location และข้อมูลตามมา