Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để chuyển đổi một mảng JSON sang CSV trong Java?


JSON có thể được sử dụng làm định dạng trao đổi dữ liệu nhẹ không phụ thuộc vào ngôn ngữ . A JSONArray có thể phân tích cú pháp văn bản từ một Chuỗi để tạo ra một vectơ -like đối tượng và hỗ trợ java.util. Danh sách giao diện. Chúng tôi có thể chuyển đổi Mảng JSON sang định dạng CSV sử dụng org.json.CDL , nó có thể cung cấp một phương thức tĩnh toString (), để chuyển đổi JSONArray thành văn bản được phân tách bằng dấu phẩy . Chúng tôi cần nhập org.apache.commons.io.FileUtils gói để lưu trữ dữ liệu trong tệp CSV bằng cách sử dụng writeStringToFile () phương pháp.

Cú pháp

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

Trong ví dụ dưới đây, chúng ta có thể chuyển đổi Mảng JSON sang định dạng CSV.

Ví dụ

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();
      }
   }
}

Đầu ra

Data has been Sucessfully Writeen to EmpDetails.csv
last name,first name,location
Chandra,Ravi,Bangalore