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

java json 讀寫到 csv

錢瀠龍2年前8瀏覽0評論

Json是一種數據格式,通常用于傳輸數據。與之對應的,CSV也是一種數據格式,通常用于存儲和分發數據。在Java中,我們可以使用一些工具庫來將JSON讀入內存并轉換為CSV。

一個常用的Java工具庫是Jackson,它提供了非常簡單的API來讀寫JSON和CSV文件。以下是一個基本的例子:

ObjectMapper mapper = new ObjectMapper();
// JSON to CSV
JsonNode node = mapper.readTree(new File("input.json"));
CsvSchema.Builder csvSchemaBuilder = CsvSchema.builder();
JsonNode firstObject = node.elements().next();
firstObject.fieldNames().forEachRemaining(fieldName ->{csvSchemaBuilder.addColumn(fieldName);} );
CsvSchema csvSchema = csvSchemaBuilder.build().withHeader();
SequenceWriter writer = mapper.writerFor(JsonNode.class).with(csvSchema);
writer.writeAll(node, new File("output.csv"));
System.out.println("Conversion completed!");
// CSV to JSON
CsvSchema csvSchema = CsvSchema.emptySchema().withHeader();
MappingIterator<Map<String, String>> iterator = new CsvMapper().readerFor(Map.class).with(csvSchema).readValues(new File("input.csv"));
List<Map<String,String>> list = iterator.readAll();
ObjectNode rootNode = mapper.createObjectNode();
rootNode.putPOJO("data", list);
mapper.writerWithDefaultPrettyPrinter().writeValue(new File("output.json"), rootNode);
System.out.println("Conversion completed!");

在這個例子中,我們首先使用ObjectMapper讀入JSON文件并將其轉換為JsonNode對象。然后,我們使用CsvSchema.Builder構建CSV schema。通過枚舉JsonNode對象的第一個元素的字段名,我們可以動態地構建CSV列。然后,我們使用SequenceWriter將JsonNode寫入CSV文件。

要將CSV文件轉換回JSON,我們使用CsvSchema也是很容易的。首先,我們通過CsvSchema.emptySchema().withHeader()來讀取CSV文件并將其轉換為MappingIterator<Map<String, String>>。然后,我們將Map列表轉換為一個ObjectNode對象。最后,我們使用ObjectMapper來將ObjectNode寫入JSON文件。

Jackson可是我們用于將JSON轉換為CSV和CSV轉換回JSON的有力工具。它非常簡單易用,同時也是高性能和可預測的。