Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App

Related Articles

How to Write JSON Array to CSV File using Java?

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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.

Get the latest Maven dependency

B. Apache Commons IO:  The FileUtils Class from Apache Commons IO is used to manipulate files which is moving, writing, and reading files.

Get the latest Maven dependency



It is illustrated below step-by-step as shown below as follows: 

  1. Reading the JSON file and storing the result as a string.
  2. Construct a JSONObject using the above string.
  3. Fetch the JSON Array from the JSON Object.
  4. Create a new CSV file using
  5. 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"


Input: In the current implementation there is no input needed. Make sure the path to the JSON file is correct.



// Java Program to Write Contents of JSONArray to a CSV File
// Importing required classes
import java.nio.file.*;
import org.json.*;
// Main class
// To read JSON file and write the contents of
// JSONArray to CSV file
public class GFG {
    // Main driver method
    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(
            // 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
            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

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

My Personal Notes arrow_drop_up
Last Updated : 09 May, 2022
Like Article
Save Article
Similar Reads
Related Tutorials