如何在 Java 中将 JSON 数组转换为 CSV?

javajsonobject oriented programmingprogramming

JSON 可用作数据交换格式 ,并且轻量级 语言独立JSONArray 可以从字符串解析文本以生成向量类对象,并支持java.util.List 接口。我们可以使用 org.json.CDL 类将 JSON 数组转换为 CSV 格式 ,它可以提供静态方法 toString(), 将 JSONArray 转换为逗号分隔的文本。我们需要导入 org.apache.commons.io.FileUtils 包,使用 writeStringToFile()  方法将数据存储在 CSV 文件中。

语法

public static java.lang.String toString(JSONArray ja) throws JSONException

在下面的示例中,我们可以将 JSON 数组转换为 CSV 格式。

示例

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

相关文章