JSON can be used as a data exchange format, it is lightweight and language independent. A JSONArray can parse a text string to produce an object similar to a vector, and supports the java.util.List interface. We can use the org.json.CDL class to convert the JSON array to CSV format, which provides a static method toString() for Convert JSONArray to comma separated text . We need to import the org.apache.commons.io.FileUtils package to store data in a CSV file using the writeStringToFile() method.
public static java.lang.String toString(JSONArray ja) throws JSONException
In the below example, we can convert a JSON Array to CSV format.
import java.io.File; import org.apache.commons.io.FileUtils; import org.json.*; public class ConvertJsonToCSVTest { public static void main(String[] args) throws JSONException { String jsonArrayString = "{\"fileName\": [{\"first name\": \"Ravi\",\"last name\": \"Chandra\",\"location\": \"Bangalore\"}]}"; JSONObject output; try { output = new JSONObject(jsonArrayString); JSONArray docs = output.getJSONArray("fileName"); File file = new File("EmpDetails.csv"); String csv = CDL.toString(docs); FileUtils.writeStringToFile(file, csv); System.out.println("Data has been Sucessfully Writeen to "+ file); System.out.println(csv); } catch(Exception e) { e.printStackTrace(); } } }
Data has been Sucessfully Writeen to EmpDetails.csv last name,first name,location Chandra,Ravi,Bangalore
The above is the detailed content of How to convert JSON array to CSV in Java?. For more information, please follow other related articles on the PHP Chinese website!