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


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

更新于: 2020 年 7 月 4 日

5+K 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.