Как записать объект, содержащий значения json, в файл csv на Java?

#java #csv #file #export-to-csv #export-to-excel

#java #csv #файл #экспорт в csv #экспорт в excel

Вопрос:

У меня есть объект myData, который содержит 100 записей json, таких как :

 [Record{Purpose='Medical ', Date='2020-10-14', ID='9215524400  ', UpdateTime='2020-10-14', Checkin='2020-10-14'},...] 
  

Мне нужно записать его в файл csv в надлежащем формате csv.

Вот мой код :

    FileWriter csvWriter = new FileWriter("myFilecsv.csv");
   csvWriter.write(String.valueOf(myData)); //Its writing the file as a String
  

Я попытался преобразовать его, используя приведенный ниже код :

         JFlat flatMe = new JFlat(str);
        //To get the 2D representation
        flatMe.json2Sheet().headerSeparator("_").getJsonAsSheet();
        //write the 2D representation in csv format
        flatMe.write2csv("myFilecsv.csv");
  

Это выдает ошибку :

  java.lang.ClassNotFoundException: com.jayway.jsonpath.Configuration$Defaults
  

Я использую следующие зависимости

    <dependency>
        <groupId>com.github.opendevl</groupId>
        <artifactId>json2flat</artifactId>
        <version>1.0.3</version>
    </dependency>
    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>2.0.0</version>
        <scope>test</scope>
    </dependency>
  

Есть ли лучший способ добиться этого? Пожалуйста, дайте мне знать :

Комментарии:

1. baeldung.com/java-converting-json-to-csv Это может вам помочь.

2. Спасибо @Jabir, я прошел через это, я пытаюсь использовать функциональность JFlat, чтобы упростить ее, вместо того, чтобы кодировать все, как написано в этом блоге..

Ответ №1:

Добавление jar json2flat-1.0.3.jar решил проблему.