如何在 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