CSV(Comma Separated Values)指的是逗號分割值,是一種常見的數據格式。在處理數據時,我們經常需要將CSV格式轉換為JSON(JavaScript Object Notation)格式,這是因為JSON格式易于閱讀和管理。在Java中,我們可以使用Jackson庫來實現CSV轉JSON的功能。
首先需要在Maven中添加Jackson依賴:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.0</version> </dependency>
接下來,我們可以使用ObjectMapper類來實現CSV數據轉換為JSON數據:
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.csv.CsvMapper; import com.fasterxml.jackson.dataformat.csv.CsvSchema; import java.io.File; import java.io.IOException; public class CsvToJsonConverter { public static void main(String[] args) throws IOException { CsvMapper csvMapper = new CsvMapper(); CsvSchema csvSchema = CsvSchema.emptySchema().withHeader(); File csvFile = new File("data.csv"); ObjectMapper objectMapper = new ObjectMapper(); Object data = csvMapper.readerFor(Map.class).with(csvSchema).readValues(csvFile).readAll(); String json = objectMapper.writeValueAsString(data); System.out.println(json); } }
代碼中,我們首先創建了一個CsvMapper對象來解析CSV數據,接著使用CsvSchema對象來定義CSV文件的格式。然后,我們使用File對象指定CSV文件的路徑,并創建一個ObjectMapper對象來處理數據。最后,我們將CSV文件讀入Map中,并將Map轉換為JSON格式的字符串。
注意,使用Jackson庫進行CSV轉JSON時,需要確保CSV文件的第一行是表頭。