Lieber Herr Schönleitner,
es ist wichtig, dass Sie ein vollständiges Beispiel bereitstellen, also nicht nur das Programm, sondern auch die Daten (die json-Datei)!
Nebenbei, es sieht so aus, wie wenn die Java Json-Klassen, die
Sie gefunden haben, ziemlich umständlich/kompliziert sind. Sind
Sie sicher, dass diese tatsächlich so zu kombinieren und zu
verwenden sind, wie Sie das machen? Normalerweise hat mein ein
jar-Paket und kommt mit den Klassen darin aus.
Mit freundlichem Gruß
Rony G. Flatscher
P.S.: Eine Alternative wäre die ooRexx-Json-Klasse, wobei Sie dann die CSV-Datei selbst erstellen müssten.
Sehr geehrter Herr Professor,
vielen Dank für Ihre Antwort.
Bitte entschuldigt alle unsere ungenaue Schilderung, wir waren gestern von dem ganzen Programmieren etwas erschöpft ;)
Ich schildere euch nun genauer unser Problem:
Wir haben uns ein zufälliges JSON File gesucht und dieses in ooRexx geladen und auch problemlos in einen String konvertiert. Nun stehen wir eben vor dem Problem, dass wir es nicht schaffen, den JSONString in ein CSV Format zu bekommen. Dafür versuchten wir es mit zwei Unterschiedlichen Ansätzen.
Einmal wie hier (https://www.tutorialspoint.com/how-to-convert-a-json-array-to-csv-in-java). Dort funktionieren auch alle Methoden grundsätzlich, nur ändert sich nichts am String und das File, in das wir schreiben ist ein CSV File mit einem JSON als String, also nicht das was wir eigentlich wollen. Daher wissen wir nicht was wir bei diesem Ansatz falsch gemacht haben.
Bei dem zweiten Ansatz orientiereten wir uns hier (https://opendevl.github.io/Json2Flat/index.html?com/github/opendevl/JFlat.html). Mit dieser Library funktioniert leider die json2Sheet() Methode nicht. Alle anderen Methoden funktionieren hier ohne Probleme. Wir bekommen folgenden Error:
RexxDispatcher.java: Throwable of type 'org.rexxla.bsf.engines.rexx.RexxException' thrown while invoking Rexx:
getLocalizedMessage(): [BSF4ooRexx/routine/jniRexxRunProgram(), error 9:
*-* Compiled routine "BSF".
Error 40 running /Users/felixschonleitner/Desktop/try1.rxj line 52: Incorrect call to routine.
Error 40.900: BSF4ooRexx/routine/BSF(), error 3: Java exception occurred: [org.apache.bsf.BSFException: BSF4ooRexx subfunction "invoke":
bean: [com.github.opendevl.JFlat@198e2867] --> type: <com.github.opendevl.JFlat>
method: [JSON2SHEET] not found or execution error!
-> check method name=[JSON2SHEET] (caseless o.k., but correct spelling?)
].]
Im Anhang ist das .rxj File, mit dem ganzen Code und unseren Ansätzen, wie wir es versucht haben. Über jeden Vorschlag würden wir uns freuen.
Beste Grüße
Gruppe 8
Am 23.06.20 um 13:14 schrieb Rony G. Flatscher:
Liebe Gruppe 8,
On 22.06.2020 19:21, Lukas Roithner wrote:
Bisher haben wir soweit alles geschafft (unsere Projekt ist bis auf dieses Problem schon sogut wie fertig), sprich JSON File geparsed usw., aber wir bekommen das JSON File nicht in eine CSV. Wir hätten es mit JFlat probiert, die Methoden funktionieren aber irgendwie nicht"irgendwie nicht" hilft weder Ihnen noch Kollegen, die Ihnen helfen sollen, da damit nicht klar ist, was das Problem ist. Also, was ist das genaue Problem, das Sie haben? Beschreiben Sie es so genau wie möglich und geben Sie auch den Code an! Wenn es Laufzeitfehler gibt, dann geben Sie diese an!
(Link: https://opendevl.github.io/Json2Flat/index.html?com/github/opendevl/JFlat.html). Vielleicht hat von euch jemand ein ähnliches Problem, oder weiß Lösungsvorschläge. Im Anhang findet ihr unseren Versuch. Da G-Mail es nicht erlaubt .jar Files zu schicken, stehen am Ende der Mail die Download-Links der Klassenbibliotheken. Danke im Vorhinein!!Sollen wir jetzt für Sie das recherchieren, also Ihre Arbeit tun?
Mit freundlichem Gruß
Rony G. Flatscher
P.S.: Nebenbei, das CSV-Format ist banal und kann jederzeit auch in Rexx selbst erzeugt werden.