JSON zu CSV konvertieren — die schmerzhafte Lücke zwischen API und Excel
APIs reden JSON, Buchhaltung redet Excel. Wer regelmäßig Daten von Stripe, PayPal, Firebase, MongoDB oder einer internen REST-API in eine Excel-Auswertung bringen muss, kennt die Schmerzen: die JSON-Antwort ist drei Ebenen tief verschachtelt, enthält Arrays mit Sub-Objekten und ein paar optionale Felder, die mal da sind und mal nicht. Standard-Online-Konverter scheitern an genau diesen drei Punkten — wir lösen alle drei.
Echtes Nested-Flattening — nicht nur Top-Level-Schlüssel
Eine typische Stripe-Charge-Antwort hat etwa: id, amount, currency, customer.id, customer.name, customer.address.city, customer.address.postal_code, payment_method_details.card.brand, payment_method_details.card.last4, balance_transaction.fee_details[0].amount, …. Naive Konverter schreiben nur die Top-Level-Felder. Wir gehen rekursiv durch den ganzen Baum und erzeugen für jeden Leaf-Pfad eine eigene Spalte. Die Excel-Anwender:in kann dann nach Stadt filtern, nach Karten-Marke gruppieren — direkt im Pivot.
Drei Strategien für Arrays innerhalb von Datensätzen
Arrays sind tricky: ein Order-Datensatz kann 1, 5 oder 20 Line-Items haben. Drei sinnvolle Strategien: (a) Array als JSON-String in eine Spalte — kompakt, behält die Struktur, im Excel als Text sichtbar. (b) Per Index entfalten — items.0.qty, items.0.price, items.1.qty, … — gut, wenn alle Arrays etwa gleich groß sind. (c) Mit Pipe verbunden für reine String-Arrays — Tags „rot|grün|blau" in einer Zelle. Sie wählen pro Vorgang.
NDJSON-Eingabe automatisch erkannt
NDJSON (Newline-Delimited JSON) ist das Standardformat für Logs, BigQuery-Exporte, mongoexport-Output und LLM-Batch-Resultate. Statt eines umschließenden Arrays steht ein JSON-Objekt pro Zeile. Wir erkennen das Format anhand des ersten Zeichens (öffnende geschweifte Klammer statt eckiger) und parsen entsprechend zeilenweise. Speicherschonender als ein riesiges Array — und für Millionen-Datensätze die einzig praktikable Variante im Browser.
Schlüssel-Vereinigung statt Schema-Annahmen
Real-World-JSON ist selten schema-konsistent: optionale Felder fehlen mal, neue Felder kommen dazu, alte werden weggelassen. Wir scannen alle Datensätze und bilden die Vereinigung aller Pfade. So entstehen Spalten für alle jemals vorkommenden Felder, fehlende Werte werden als leere Zellen geschrieben. Excel-Reports brechen dann nicht, weil im Datensatz 47 plötzlich ein Feld refund_reason dazukommt.
UTF-8 mit oder ohne BOM — passend zur Excel-Version
Soll die CSV in deutschem Excel geöffnet werden, hilft ein UTF-8 BOM am Dateianfang, damit Umlaute in Namen und Adressen korrekt dargestellt werden. Für moderne Web-Tools, Google Sheets oder Datenbank-Imports lassen Sie das BOM weg — das ist heute die saubere Default-Wahl. Eine Checkbox, kein Headerless-Frust mehr.
DSGVO: warum lokal verarbeiten zählt
API-Antworten enthalten meist personenbezogene Daten — Stripe-Kunden, Firebase-User, MongoDB-Bestellungen. Diese durch einen fremden Cloud-Konverter zu schicken wäre datenschutzrechtlich heikel (Art. 28 DSGVO, eventuell Drittland-Transfer in die USA). BrowserCrunch verarbeitet ausschließlich in Ihrem Browser. Bonus: funktioniert offline, sobald die Seite einmal geladen wurde.
Verwandte CSV-Tools auf BrowserCrunch
Andere Richtung? Unser CSV-zu-JSON-Konverter mit Type-Sniffing und NDJSON-Output. Für Office-Workflows: Excel zu CSV und CSV zu Excel. Für Reporting: CSV als PDF-Tabelle.