Läuft auf Ihrem Gerät · Ihre Datei verlässt nie Ihr Gerät.
Legen Sie eine .json-Datei ab oder fügen Sie JSON direkt aus einer API-Antwort ein und erhalten Sie eine CSV, die sich in Excel, Google Tabellen oder jedem Import-Dialog öffnen lässt. Eine Liste auf oberster Ebene ergibt eine Zeile pro Eintrag; sonst wird die längste Liste von Datensätzen im Dokument verwendet, sodass {"results": [...], "count": 2} eine Zeile pro Ergebnis ergibt; ein Objekt ohne Liste darin wird zu einer Zeile.
Die Regeln sind fest, damit das Ergebnis vorhersehbar ist: Verschachtelte Objekte werden zu Spalten mit Punkt (address.city), eine Liste einfacher Werte wird in einer Zelle mit Semikolon verbunden, und eine Liste von Objekten innerhalb eines Datensatzes bekommt nummerierte Spalten (items.0.name). Die Kopfzeile ist die Vereinigung aller gefundenen Schlüssel in der Reihenfolge ihres ersten Auftretens; fehlt einem Datensatz ein Feld, bleibt die Zelle einfach leer.
Die CSV wird nach RFC 4180 geschrieben – Felder mit Kommas, Anführungszeichen oder Zeilenumbrüchen werden korrekt in Anführungszeichen gesetzt – in UTF-8 mit optionaler Byte-Order-Marke, damit Excel jede Schrift, Umlaute, Akzente und Sonderzeichen richtig anzeigt. Eine Zelle, die mit =, +, - oder @ beginnt, bekommt einen Apostroph vorangestellt, damit eine Tabellenkalkulation sie als Text zeigt, statt sie als Formel auszuführen. Sie sehen die ersten 200 Zeilen vor dem Herunterladen, und nichts verlässt Ihr Gerät.
Nicht geeignet für: Ein tief verschachteltes einzelnes Objekt ohne Liste darin – es wird umgewandelt, aber als eine sehr breite Zeile statt als Tabelle.
Eine Liste auf oberster Ebene bildet die Zeilen. Andernfalls durchsucht das Werkzeug das Dokument bis zu acht Ebenen tief nach der längsten Liste von Objekten. {"response": {"data": {"items": [...]}}} und {"results": [...], "count": 2, "next": null} ergeben deshalb beide eine Zeile pro Eintrag, und die Zeile unter dem Ergebnis nennt die verwendete Liste, etwa results. Werte neben dieser Liste, wie count und next, gehören zu keinem Datensatz und werden weggelassen.
Von zwei gleich langen Listen gewinnt die, die näher an der obersten Ebene liegt. Wollen Sie eine kürzere Liste, kopieren Sie sie von ihrer [ bis zu ihrer ] und fügen nur diese ein. Ein Dokument ohne Liste von Objekten wird zu einer Zeile, und Hüllen mit nur einem Schlüssel werden übersprungen: {"order": {"id": 7, "total": 12}} ergibt die Spalten id und total.
Text wird exakt übernommen, auch Datumsangaben; sie bleiben in der Form, in der das JSON sie enthält, etwa 2024-01-05T10:00:00Z. true und false werden als Wörter geschrieben. null, eine leere Liste und ein leeres Objekt werden alle zu einer leeren Zelle und sehen in der CSV also genauso aus wie ein fehlendes Feld.
Eine Zahl wird genau so geschrieben, wie das JSON sie enthält: 1.0 bleibt 1.0, 1e21 bleibt 1e21, und eine Kennung wie 12345678901234567890 behält jede Ziffer, auch ohne Anführungszeichen. Ein gewöhnlicher JSON-Leser würde aus dieser Kennung 12345678901234567000 machen.
Eine Liste von Listen wird um eine Ebene geöffnet: "m": [[1, 2], [3]] ergibt eine Spalte m.0 mit 1;2 und eine Spalte m.1 mit 3. Eine Liste, die Objekte und einfache Werte mischt, nummeriert jeden Eintrag: "x": [{"z": 1}, 2] ergibt x.0.z und x.1.
Spaltennamen entstehen, indem Schlüssel mit Punkten verbunden werden; ein Schlüssel, der schon einen Punkt enthält, kann deshalb mit einem verschachtelten zusammenfallen: {"a.b": 1, "a": {"b": 2}} würde zweimal a.b ergeben. Die zweite Spalte bekommt einen Zusatz, die Spalten heißen also a.b und a.b_2, und beide Werte bleiben erhalten.
Komma ist die übliche Wahl. Semikolon passt zu einer Tabellenkalkulation, die auf eine Sprache eingestellt ist, in der Dezimalzahlen mit Komma geschrieben werden, etwa Deutsch; dort öffnet sich eine kommagetrennte Datei oft in einer einzigen Spalte. Tabulator und senkrechter Strich sind für Systeme gedacht, die sie verlangen. Welcher Trenner es auch ist, die Datei endet auf .csv.
Eine Zelle, die mit =, +, - oder @ beginnt, ist für eine Tabellenkalkulation eine Formel, die beim Öffnen ausgeführt würde. Eine solche Zelle bekommt einen Apostroph vorangestellt – das Zeichen, mit dem Tabellenkalkulationen selbst „das ist Text“ markieren –, aus =1+1 wird also '=1+1. Einfache Zahlen wie -5 oder +3.5 bleiben, wie sie sind.
Diese Seite in anderen Sprachen: English · العربية · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা