色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

csv轉json java

夏志豪2年前8瀏覽0評論

在Java開發中,CSV(逗號分隔值)和JSON(JavaScript對象表示)是兩種常見的數據存儲和交換格式。CSV是一種簡單的文本格式,用于表示表格數據,而JSON是一種輕量級的數據交換格式,廣泛用于Web應用程序中。

當我們需要將CSV轉換為JSON格式時,Java語言提供了許多開源庫和API,如Jackson、Gson等。下面是一個使用Jackson庫將CSV數據轉換為JSON數據的示例:

try {
CsvSchema schema = CsvSchema.emptySchema().withHeader();
CsvMapper csvMapper = new CsvMapper();
File csvFile = new File("data.csv");
MappingIterator>mappingIterator = csvMapper.readerFor(Map.class).with(schema).readValues(csvFile);
List>list = mappingIterator.readAll();
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(list);
System.out.println(json);
} catch (IOException e) {
e.printStackTrace();
}

上面的代碼首先創建一個空的CSV模式,并使用帶頭文件的模式構建一個CsvMapper實例。然后,讀取CSV文件的MappingIterator會將CSV文件中的所有行解析為具有給定標頭的Map對象。最后,ObjectMapper將Map列表轉換為JSON格式的字符串。

要將JSON轉換回CSV格式,我們可以使用相同的庫和API。下面是一個使用Gson庫將JSON數據轉換為CSV數據的示例:

try {
BufferedReader br = new BufferedReader(new FileReader("data.json"));
Gson gson = new Gson();
List>list = gson.fromJson(br, new TypeToken>>(){}.getType());
FileWriter fw = new FileWriter("data.csv");
CSVWriter csvWriter = new CSVWriter(fw);
csvWriter.writeAll(list.stream().map(map ->map.values().toArray(new String[0])).collect(Collectors.toList()));
csvWriter.flush();
csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
}

上面的代碼首先創建一個Gson實例,并使用TypeToken來指定在JSON中包含的Map列表的泛型類型。然后,它使用CSVWriter將Map列表寫入CSV文件。

綜上所述,CSV轉JSON和JSON轉CSV是Java開發中非常常見的任務。Jackson和Gson等庫和API提供了快速,簡單和可靠的方法來執行這些轉換。