How to Write JSON Array to CSV File using Java?
Last Updated :
14 Apr, 2025
We will see how to read a JSONArray from a JSON file and write the contents to a CSV file using Java. JavaScript Object Notation (JSON) is a standard text-based format for representing structured data that is based on JavaScript object syntax. It is commonly used for transmitting data in web applications (e.g., sending some data from the server to the client, so it can be displayed on a web page, or vice versa). This JSON in many scenarios is an array of objects, and thus, converting it to CSV makes it easily readable and comprehendible by people from all backgrounds. Let us take a deeper dive into how this can be achieved using Java. CDL (Comma Delimited List) Class from the package org.json is used here. This provides static methods to convert comma delimited text into a JSONArray and to convert a JSONArray into comma-delimited text.
Let us start by adding the following dependencies to our project:
A. The JSON library contains Java classes for parsing and converting between JSON and XML, HTTP headers, Cookies, Comma Delimited Lists, and Text, among other formats.
B. Apache Commons IO: The FileUtils Class from Apache Commons IO is used to manipulate files which is moving, writing, and reading files.
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
Procedure:
It is illustrated below step-by-step as shown below as follows:
- Reading the JSON file and storing the result as a string.
- Construct a JSONObject using the above string.
- Fetch the JSON Array from the JSON Object.
- Create a new CSV file using java.io.File.
- Produce a comma delimited text from the JSONArray of JSONObjects and write it to the newly created CSV file.
Sample JSON file content
{
"test": [
{
"name": "Test User1",
"age": 22,
"role": "Developer"
},
{
"name": "Test User2",
"age": 40,
"role": "Analyst"
},
{
"name": "Test User3",
"age": 20,
"role": "Intern"
}
]
}
Implementation:
Input: In the current implementation there is no input needed. Make sure the path to the JSON file is correct.
Example
Java
// Java Program to Write Contents of JSONArray to a CSV File
// Importing required classes
import java.io.*;
import java.nio.file.*;
import org.apache.commons.io.FileUtils;
import org.json.*;
// Main class
// To read JSON file and write the contents of
// JSONArray to CSV file
public class GFG {
// Main driver method
@SuppressWarnings("deprecation")
public static void main(String args[])
{
// Class data members
String jsonString;
JSONObject jsonObject;
// Try block to check for exceptions
try {
// Step 1: Reading the contents of the JSON file
// using readAllBytes() method and
// storing the result in a string
jsonString = new String(
Files.readAllBytes(Paths.get("file.json")));
// Step 2: Construct a JSONObject using above
// string
jsonObject = new JSONObject(jsonString);
// Step 3: Fetching the JSON Array test
// from the JSON Object
JSONArray docs
= jsonObject.getJSONArray("test");
// Step 4: Create a new CSV file using
// the package java.io.File
File file = new File("C:\\Test.csv");
// Step 5: Produce a comma delimited text from
// the JSONArray of JSONObjects
// and write the string to the newly created CSV
// file
String csvString = CDL.toString(docs);
FileUtils.writeStringToFile(file, csvString);
}
// Catch block to handle exceptions
catch (Exception e) {
// Display exceptions on console with line
// number using printStackTrace() method
e.printStackTrace();
}
}
}
Sample Output: The contents of the Sample JSONArray are now correctly displayed in the file which is as displayed in the below image as follows:
Output Image
Similar Reads
Writing a CSV file in Java using OpenCSV A Comma-Separated Values (CSV) file is just a normal plain-text file, store data in a column by column, and split it by a separator (e.g normally it is a comma â, â). OpenCSV is a CSV parser library for Java. OpenCSV supports all the basic CSV-type operations you are want to do. Java 7 is currently
5 min read
Convert byte[] array to File using Java As we know whenever it comes to writing over a file, write() method of the File class comes into play but here we can not use it in order to convert that byte into a file. In order to convert a byte array to a file, we will be using a method named the getBytes() method of String class. Implementatio
3 min read
How to Write Data from HashMap to Excel using Java in Apache POI? Apache POI is an open-source java library to create and manipulate various file formats based on Microsoft Office. Using POI, one should be able to perform create, modify and display/read operations on the following file formats. For Example, Java doesnât provide built-in support for working with ex
3 min read
Program to convert Byte Array to Writer in Java References: Writer Class Approach: Writer class is used to write character stream, by which byte array can be passed as an argument. By this way, byte array can be converted into Writer class. To get the byte array from String, getBytes() method is used. Below is the implementation of the above appr
2 min read
Reading a CSV file in Java using OpenCSV A Comma-Separated Values (CSV) file is just a normal plain-text file, store data in column by column, and split it by a separator (e.g normally it is a comma â, â). OpenCSV is a CSV parser library for Java. OpenCSV supports all the basic CSV-type operations you are want to do. Java 7 is currently th
7 min read
Reading and Writing Data to Excel File in Java using Apache POI In Java, reading an Excel file is not similar to reading a Word file because of cells in an Excel file. JDK does not provide a direct API to read data from Excel files for which we have to toggle to a third-party library that is Apache POI. Apache POI is an open-source java library designed for read
5 min read
How to Write Data from Excel File into a HashMap using Java and Apache POI? Apache POI is an open-source java library to create and manipulate various file formats based on Microsoft Office. Using POI, one should be able to perform create, modify and display/read operations on the following file formats. For Example, Java doesnât provide built-in support for working with ex
3 min read
Java JSON Processing (JSON-P) with Example JSON (JavaScript Object Notation) is text-based lightweight technology. Nowadays it is a dominant and much-expected way of communication in the form of key-value pairs. Â It is an easier way of transmitting data as it is having nice formatted way. We can nest the objects and also can provide JSON arr
7 min read
How to Generate JSON with JsonGenerator in Java? The JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. It is lightweight, flexible, and faster than XML, which is the reason that it is used widely for data interchange between server and client. If you ever work on J
15 min read
Convert Json String to Java Object Using GSON Pre-requisite: Convert Java Object to Json String Using GSONJSON Stand for JavaScript Object Notation. It's a standard text-based format which shows structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications. JSON is highly recommended to transmi
3 min read