JSON in CSV umwandeln: Anleitung für gültige Eingaben
Fügen Sie gültigen JSON-Text ein und wandeln Sie ein einzelnes Objekt oder ein passendes, nicht leeres Objekt-Array in CSV-Text um. Das Trennzeichen ist standardmäßig ein Komma und wird bei einer eigenen Angabe auf deren erstes Zeichen reduziert.
Geeignete Eingaben und Einstellungen
Dieser Konverter wandelt JSON-Text in CSV-Text um. Geeignet ist eine Eingabe, deren oberste Struktur aus einem einzelnen Objekt oder aus einem nicht leeren Array mit einem Objekt an erster Stelle besteht. So erhalten Sie eine zeilenorientierte Ausgabe, in der die enthaltenen Datensätze nacheinander erscheinen.
Das Komma ist voreingestellt und eignet sich, wenn Sie keine andere Trennung benötigen. Eine eigene Angabe kann verwendet werden, wenn die spätere Verarbeitung ein anderes Zeichen erwartet. Bei einer mehrstelligen Angabe zählt nur das erste Zeichen; eine leere Angabe führt wieder zum Komma.
Besonders übersichtlich bleibt das Ergebnis, wenn die Objekte ähnliche Felder enthalten. Die Kopfzeile berücksichtigt jedoch auch Feldnamen, die erst in einem späteren verarbeiteten Objekt vorkommen. Dadurch können die Spalten über die Datensätze hinweg zusammengeführt werden, ohne dass fehlende Angaben durch erfundene Inhalte ersetzt werden.
JSON-Text Schritt für Schritt umwandeln
-
Bereiten Sie den JSON-Text vor. Die Eingabe darf nicht leer sein und nicht nur aus Leerzeichen bestehen. Achten Sie außerdem auf gültige JSON-Syntax, passende Anführungszeichen sowie korrekt gesetzte geschweifte oder eckige Klammern.
-
Wählen Sie eine zulässige oberste Struktur. Ein Objekt wie
{"name":"Mira","alter":29}wird als ein Datensatz verarbeitet. Alternativ können Sie ein nicht leeres Array einsetzen, dessen erstes Element ein Objekt ist. -
Fügen Sie den vorbereiteten Text in das Eingabefeld ein. Prüfen Sie vor dem Start, ob beim Kopieren kein Zeichen verloren gegangen ist und ob das Array nach dem ersten Element weiterhin Objekte enthält.
-
Übernehmen Sie bei Bedarf ein anderes Trennzeichen. Ohne eigene Angabe verwendet die Ausgabe ein Komma. Enthält Ihre Angabe mehrere Zeichen, wird sie auf das erste Zeichen verkürzt; bei einer leeren Angabe greift ebenfalls das Komma.
-
Starten Sie die Umwandlung. Nach der Kopfzeile entsteht eine CSV-Zeile je verarbeitetem Datensatz. Ein einzelnes Objekt liefert deshalb eine Datensatzzeile, während ein geeignetes Array mehrere Zeilen liefern kann.
-
Prüfen Sie den erzeugten Text, bevor Sie ihn weiterverwenden. Kontrollieren Sie die Spaltenfolge, leere Zellen und die Darstellung von Werten, die vor dem Schreiben in Text umgewandelt werden. Ein oberster Zahlenwert, eine Zeichenfolge oder ein leeres Array gehört nicht zu den akzeptierten Eingaben.
Kopfzeile, Zeilen und Grenzen der Ausgabe
Die erste Ausgabezeile ist die CSV-Kopfzeile. Sie enthält jeden Feldnamen aus den verarbeiteten Datensätzen einmal und ordnet ihn nach dem ersten Auftreten eines Namens ein. Deshalb kann die Spaltenreihenfolge von der Reihenfolge abweichen, die Sie in einem späteren Objekt im JSON-Text sehen.
Unter dieser Zeile steht für jeden verarbeiteten Datensatz eine eigene CSV-Zeile. Fehlt ein Feld in einem Objekt, bleibt die zugehörige Position leer. Ein solcher leerer Wert bedeutet nicht, dass nachträglich ein Standardwert ergänzt wurde.
Werte werden vor dem Schreiben in Text umgewandelt. Daraus folgt nicht, dass verschachtelte Objekte oder Arrays automatisch auf mehrere CSV-Spalten verteilt werden. Bei solchen Inhalten sollten Sie die Zellinhalte und die Spaltenstruktur anhand des erzeugten Textes kontrollieren.
Auch ein zunächst passendes Array kann später scheitern. Die erste Prüfung verlangt nur, dass das Array nicht leer ist und mit einem Objekt beginnt; spätere Elemente werden nicht selbstständig als Objekte geprüft. Ein Skalar, null oder ein weiteres Array an späterer Stelle kann die Verarbeitung daher verhindern.
Praktisches Beispiel
Sie möchten [{"name":"Mira","alter":29},{"name":"Jonas"}] für eine Tabellenkalkulation in CSV-Text umwandeln.
Fügen Sie den JSON-Text ein und belassen Sie das voreingestellte Komma als Trennzeichen.
Eine Kopfzeile mit name,alter und danach zwei CSV-Zeilen; in der zweiten Zeile bleibt die Spalte alter leer, weil dieses Feld dort fehlt.
Einschränkungen
- Leere Arrays, Arrays mit einem anderen ersten Element und andere oberste JSON-Werte werden abgelehnt. Spätere Array-Elemente können trotz bestandener Anfangsprüfung scheitern; eine Aufteilung verschachtelter Werte in mehrere CSV-Spalten ist nicht abgesichert.
Häufige Fehler
- Ursache: Nach dem ersten Objekt enthält das Array ein ungeeignetes späteres Element. Korrektur: Prüfen Sie die nachfolgenden Elemente vor dem Start und ersetzen oder entfernen Sie Skalarwerte,
nulloder verschachtelte Arrays.
Häufige Fragen
Kann ich ein einzelnes JSON-Objekt umwandeln?
Unter der Voraussetzung, dass der JSON-Text gültig ist, wird ein einzelnes Objekt als ein Datensatz verarbeitet. Die darin vorhandenen Feldnamen erscheinen in der Kopfzeile der CSV-Ausgabe.
Kann ich ein JSON-Array umwandeln?
Das Array muss nicht leer sein und mit einem Objekt beginnen. Spätere Elemente werden nicht unabhängig als Objekte geprüft, sodass ein Skalar, null oder ein Array die Verarbeitung zum Scheitern bringen kann.
Was passiert bei fehlenden Feldern?
Wenn ein verarbeiteter Datensatz einen Feldnamen aus der Kopfzeile nicht besitzt, wird an dieser Stelle eine leere Zeichenfolge in die CSV-Zeile geschrieben. Der Feldname bleibt in der Kopfzeile erhalten, wenn er in einem anderen Datensatz vorkommt.