Java CSV 解析成 JSON:示例代码和详细说明
Java CSV 解析成 JSON:示例代码和详细说明
这是一个解析 CSV 文件并将其转换为 JSON 的 Java 示例代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
public class CSVtoJSONParser {
public static void main(String[] args) {
String csvFilePath = 'path/to/csv/file.csv';
List<String[]> csvData = readCSV(csvFilePath);
if (csvData != null) {
List<JsonData> jsonDataList = parseCSVtoJSON(csvData);
String json = convertListToJson(jsonDataList);
System.out.println(json);
}
}
private static List<String[]> readCSV(String csvFilePath) {
List<String[]> csvData = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFilePath))) {
String line;
while ((line = br.readLine()) != null) {
String[] data = line.split(',');
csvData.add(data);
}
} catch (IOException e) {
e.printStackTrace();
}
return csvData;
}
private static List<JsonData> parseCSVtoJSON(List<String[]> csvData) {
List<JsonData> jsonDataList = new ArrayList<>();
String[] headers = csvData.get(0);
for (int i = 1; i < csvData.size(); i++) {
String[] row = csvData.get(i);
JsonData jsonData = new JsonData();
for (int j = 0; j < row.length; j++) {
String header = headers[j];
String value = row[j];
jsonData.addProperty(header, value);
}
jsonDataList.add(jsonData);
}
return jsonDataList;
}
private static String convertListToJson(List<JsonData> jsonDataList) {
Gson gson = new Gson();
return gson.toJson(jsonDataList);
}
private static class JsonData {
private final List<JsonProperty> properties;
public JsonData() {
properties = new ArrayList<>();
}
public void addProperty(String name, String value) {
properties.add(new JsonProperty(name, value));
}
}
private static class JsonProperty {
private final String name;
private final String value;
public JsonProperty(String name, String value) {
this.name = name;
this.value = value;
}
}
}
这个示例代码中,CSVtoJSONParser 类包含了三个主要方法:
readCSV方法用于读取 CSV 文件并将数据存储在一个List<String[]>中。parseCSVtoJSON方法将 CSV 数据转换为 JSON 数据,其中将第一行作为列名,将其余行的数据与列名一一对应转换为 JSON 对象。convertListToJson方法使用Gson库将 JSON 数据转换为 JSON 字符串。
你需要将 csvFilePath 变量的值替换为你实际的 CSV 文件路径,并在运行程序时,确保你已经添加了 Gson 库的依赖。
原文地址: https://www.cveoy.top/t/topic/fH4Y 著作权归作者所有。请勿转载和采集!