欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java csv轉(zhuǎn)json 博客

錢良釵1年前8瀏覽0評論

CSV和JSON是數(shù)據(jù)交換的兩種常見格式。CSV數(shù)據(jù)適用于類似電子表格的行和列;而JSON數(shù)據(jù)是基于JavaScript的一種結(jié)構(gòu)化數(shù)據(jù)格式。在編碼和解析數(shù)據(jù)時(shí),很多情況下需要將CSV數(shù)據(jù)轉(zhuǎn)換為JSON格式。Java提供了許多輕量級的庫可以幫助我們輕松地實(shí)現(xiàn)這個(gè)過程。

下面是一些代碼示例,可以用Java將CSV轉(zhuǎn)換為JSON:

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class CsvToJsonConverter {
public static void main(String[] args) {
String csvFile = "example.csv";
String line = "";
String csvSplitBy = ",";
List>list = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
String[] headers = br.readLine().split(csvSplitBy);
while ((line = br.readLine()) != null) {
String[] values = line.split(csvSplitBy);
Mapmap = new LinkedHashMap<>();
for (int i = 0; i< headers.length; i++) {
map.put(headers[i], values[i]);
}
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(list);
}
}

在上面的代碼中,我們使用實(shí)用的BufferedReader類從CSV文件中讀取數(shù)據(jù),并將其轉(zhuǎn)換為Java Map的列表。此列表表示JSON格式的數(shù)據(jù)。對于每個(gè)CSV行,我們將它們放入Map中,其中鍵是CSV標(biāo)題,值是該行的值。

import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonWriter {
public static void main(String[] args) {
String outputFile = "example.json";
ObjectMapper mapper = new ObjectMapper();
List>list = new ArrayList<>();
Mapmap1 = new LinkedHashMap<>();
map1.put("name", "John");
map1.put("age", "30");
Mapmap2 = new LinkedHashMap<>();
map2.put("name", "Jane");
map2.put("age", "25");
list.add(map1);
list.add(map2);
try {
mapper.writeValue(new File(outputFile), list);
} catch (Exception e) {
e.printStackTrace();
}
}
}

在上述代碼中,我們使用Jackson庫將Java中的Map列表寫入JSON文件。 ObjectMapper類提供了實(shí)現(xiàn)此操作所需的接口,我們使用它來序列化Map列表并將其寫入文件。這些數(shù)據(jù)輸出到example.json文件。

總而言之,CSV轉(zhuǎn)換為JSON是一種非常有用的操作,在Java中可以使用眾多現(xiàn)成的庫來實(shí)現(xiàn)這個(gè)過程。在此過程中,轉(zhuǎn)換后的JSON數(shù)據(jù)不僅更具可讀性,還可以更容易地在不同的應(yīng)用程序之間共享和傳遞。