java实现把json文件转换成csv文件
时间: 2023-08-16 16:09:08 浏览: 226
可以使用Jackson库来将JSON文件转换为Java对象,然后使用OpenCSV库将Java对象转换为CSV文件。以下是一个示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.opencsv.CSVWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class JsonToCsvConverter {
public static void main(String[] args) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(new File("input.json"));
CSVWriter writer = new CSVWriter(new FileWriter("output.csv"));
for (JsonNode node : rootNode) {
String[] record = new String[] {
node.get("id").asText(),
node.get("name").asText(),
node.get("age").asText()
};
writer.writeNext(record);
}
writer.close();
}
}
```
在这个例子中,我们假设JSON文件的格式如下:
```json
[
{
"id": "1",
"name": "Alice",
"age": "25"
},
{
"id": "2",
"name": "Bob",
"age": "30"
},
{
"id": "3",
"name": "Charlie",
"age": "35"
}
]
```
然后我们使用Jackson库将其读取并解析为Java对象。在这个例子中,我们将其解析为一个JsonNode对象,然后遍历这个对象,将每个节点的值写入CSV文件中。最后,我们使用OpenCSV库的CSVWriter类将数据写入CSV文件中。
请注意,这只是一个简单的示例代码,对于更复杂的JSON文件,您可能需要进行更复杂的处理。
阅读全文