Command Palette

Search for a command to run...

JSON-zu-CSV-Konvertierung: 5 Methoden, die Entwickler im Jahr 2026 verwenden

JSON-zu-CSV-Konvertierung: 5 Methoden, die Entwickler im Jahr 2026 verwenden

T
Toolz Team
|Jun 27, 2026|15 min read

Der erste JSON-zu-CSV-Konverter, den ich je geschrieben habe, dauerte drei Tage in der Produktion.

Es war ein "Export in Tabellenkalkulations" -Button in einem Laravel-Admin-Panel, und meine Konvertierungslogik war - ich bin nicht stolz darauf - values.join(",")drohen Es segelte durch Tests. Dann exportierte ein Benutzer eine Kundenliste, in der ein Unternehmen "Smith, Jones & amp; Partner" genannt wurde, und jede Spalte, nachdem sie eine Position nach rechts verschoben hatte. Ihr Buchhalter importierte 340 Zeilen falsch ausgerichteter Daten, bevor jemand bemerkte, dass die Telefonnummern in der E-Mail-Spalte waren.

Das Komma in CSV ist kein Trennzeichen, das Sie sich anschließen können. Es ist eine Grammatik, definiert in RFC 4180, mit tatsächlichen flüchtigen Regeln. Dieser Fehler ist der Grund, warum die JSON-zu-CSV-Konverter Ich habe später für Toolz.dev das Flucht als nicht verhandelbar erstellt - und warum dieser Leitfaden Echtzeit für die Kantenfälle ausgibt, nicht nur auf dem glücklichen Weg.

Hier sind die fünf Methoden, die ich tatsächlich verwende, wenn jede gewinnt und wo jeder beißt.

tl; dr: Fügen Sie bei einmaligen Konvertierungen Ihren JSON in die toolz.dev JSON zu CSV-Konverter — Es flacht verschachtelte Objekte mit Punktnotation ab, entkommt korrekt per RFC 4180 und wird zu 100% in Ihrem Browser ausgeführt. Für wiederkehrende Jobs script es: pd.json_normalize() in Python oder die json2csv Paket im Knoten. validieren mit dem JSON-Formater Zunächst und halten Sie die ursprüngliche JSON - CSV-Abflachung ist in eine Richtung.


Warum benötigen Sie CSV, wenn Sie JSON bereits haben?

Weil die Personen, die Ihre Daten benötigen, nicht in Ihrem Terminal leben. Jede Umstellungsanfrage, die ich je bekommen habe, reduziert sich auf eine von fünf Situationen:

Analysten arbeiten in Tabellenkalkulationen. Excel, Google Sheets, Tableau, Power BI - Sie alle inhalieren CSV nativ und ersticken an verschachtelten JSON. Durch die Konvertierung von API-Ausgaben in CSV erreichen Engineering-Daten die Geschäftsseite.

Datenbanken Bulk-Import Flat Files. PostgreSQL COPY und MySQL & # 39; S. LOAD DATA wollen tabellarische Eingabe. JSON-Spalten existieren, aber das Laden in reale Beziehungstabellen bedeutet zuerst Abflachen.

Migrationen brauchen eine Lingua Franca. Verschieben von Daten zwischen einem NoSQL-Speicher und einem relationalen oder zwischen zwei SaaS-Plattformen ist CSV das Format, das beide Enden zuverlässig verstehen.

Compliance mag Flatfiles. Einige Archivierungsanforderungen legen für Menschen lesbare Formate fest. Ein CSV öffnet sich in irgendetwas, in Jahrzehnten.

Stakeholder können JSON nicht lesen. Ein Produktmanager, der "Kann ich das als Tabelle bekommen?", Ist der häufigste Auslöser. Es war der Auslöser für meine kaputte Exporttaste.

Diagram showing JSON data flowing through conversion to CSV format with use cases branching to spreadsheets, databases, and analytics


Was macht die Konvertierung von JSON-in-CSV-Dateien schwierig?

Flat JSON ist trivial. das:

[
  {"id": 1, "name": "Alice", "email": "[email protected]", "age": 30},
  {"id": 2, "name": "Bob", "email": "[email protected]", "age": 25}
]

wird dies, Schlüssel zu Headern, Elemente zu Zeilen:

id,name,email,age
1,Alice,[email protected],30
2,Bob,[email protected],25

Aber echte API-Antworten sind nie flach. Sie sehen so aus:

[
  {
    "id": 1,
    "name": "Alice",
    "address": {"street": "123 Main St", "city": "San Francisco", "state": "CA"},
    "skills": ["JavaScript", "Python", "Go"]
  }
]

CSV hat kein Konzept von "innen" und Sie wählen also eine Abflachungsstrategie und jede hat Kosten:

Punkt-Notation — Nested-Schlüssel werden zu zusammengesetzten Headern:

id,name,address.street,address.city,address.state,skills
1,Alice,123 Main St,San Francisco,CA,"JavaScript; Python; Go"

Indizierte Spalten für Arrays - skills.0, skills.1, skills.2drohen Vorhersehbar, aber ein Rekord mit 14 Fähigkeiten erzeugt 14 Spalten für alle.

JSON-kodierte Zellen - Füllen Sie das rohe JSON in die Zelle, doppelt zitiert. Verlustlos, unlesbar und es macht Analysten traurig.

Punkt-Notation mit verbundenen Arrays ist die richtige Standardeinstellung für den menschlichen Verzehr - das ist das, was die toolz.dev-Konverter produziert. Indizierte Spalten gewinnen, wenn der Downstream-Code jedes Element adressierbar benötigt. JSON-in-Cells ist ein letzter Ausweg für Round-Tripping.


Methode 1: Wie konvertiert man JSON online in CSV?

Am besten für: Einmalige Konvertierungen, Nicht-Entwickler, alles unter ein paar Dutzend MB.

  1. Öffne das JSON-zu-CSV-Konverterdrohen
  2. Fügen Sie Ihr JSON ein — ein Array von Objekten oder ein einzelnes Objekt.
  3. Das Tool erkennt die Struktur, flacht verschachtelte Objekte in Punktnotation ab und rendert die CSV sofort.
  4. Kopieren Sie es oder laden Sie die .csvdrohen

Der Grund, warum ich dies über ein Skript für nicht wiederkehrende Standards ausrichte: Null-Setup, korrekter RFC 4180-Entweichen (erfahren diese Lektion), automatische Schlüsselübereinstimmung über inkonsistente Objekte und - weil es clientseitig ist - die API-Antwort voller Kunden-E-Mails, die Sie gerade eingefügt haben, verlässt nie Ihre Maschine. Sehen Sie sich die Registerkarte Netzwerk an, wenn Sie mir nicht glauben, das ist der Test, den ich für jeden Online-Konverter wende und die meisten scheitern.

Wo es das falsche Werkzeug ist: wiederkehrende Konvertierungen (Skript-IT) und tief pathologische Verschachtelung, bei der Sie die Abflachungsstrategie von Hand auswählen möchten.

Diagram of the toolz.dev JSON to CSV converter showing JSON input on the left and CSV output on the right


Methode 2: Wie konvertiert man JSON in CSV in Javascript?

Am besten für: Erstellen Sie Pipelines, Knotendienste, benutzerdefinierte Transformationslogik.

Hier ist die minimale korrekte Version - beachten Sie die Flucht, die der Teil ist, den meine dreitägige Katastrophe übersprungen hat:

function jsonToCsv(jsonArray) {
  if (!jsonArray.length) return "";

  const headers = Object.keys(jsonArray[0]);
  const csvRows = [
    headers.join(","),
    ...jsonArray.map(row =>
      headers.map(header => {
        const value = row[header] ?? "";
        // RFC 4180: double embedded quotes, wrap anything containing , " or newline
        const escaped = String(value).replace(/"/g, '""');
        return /[,"\n\r]/.test(escaped) ? `"${escaped}"` : escaped;
      }).join(",")
    )
  ];

  return csvRows.join("\n");
}

Bei verschachtelten Eingaben zuerst flach und union die Tasten - das Entnehmen von Headern nur vom ersten Objekt ist der zweithäufigste Fehler in handgerollten Konvertern:

function flattenObject(obj, prefix = "") {
  const result = {};
  for (const [key, value] of Object.entries(obj)) {
    const newKey = prefix ? `${prefix}.${key}` : key;
    if (value && typeof value === "object" && !Array.isArray(value)) {
      Object.assign(result, flattenObject(value, newKey));
    } else if (Array.isArray(value)) {
      result[newKey] = value.join("; ");
    } else {
      result[newKey] = value;
    }
  }
  return result;
}

function nestedJsonToCsv(jsonArray) {
  const flattened = jsonArray.map(item => flattenObject(item));
  // Union of ALL keys, not just the first object's
  const headers = [...new Set(flattened.flatMap(Object.keys))];
  // ...then emit rows exactly as in jsonToCsv above
}

oder überspringen Sie das Handrollen - die json2csv Das Paket hat diese Kanten seit Jahren bewältigt:

import { Parser } from "json2csv";

const parser = new Parser({ flatten: true });
const csv = parser.parse(data);

Methode 3: Wie konvertiert man JSON in Python in CSV?

Am besten für: Data Science Workflows, alles, was bereits Pandas berührt.

Der Pandas-Einzeiler deckt Flat JSON ab:

import pandas as pd

df = pd.read_json("data.json")
df.to_csv("output.csv", index=False)

Die wirklich nützliche Funktion ist pd.json_normalize() — Speziell für verschachtelte API-Antworten erstellt:

import pandas as pd
import requests

response = requests.get("https://api.example.com/users")
df = pd.json_normalize(response.json())
print(df.columns.tolist())
# ['id', 'name', 'skills', 'address.street', 'address.city', 'address.state']

# Arrays still need a decision — join them explicitly:
df["skills"] = df["skills"].apply(lambda x: "; ".join(x) if isinstance(x, list) else x)
df.to_csv("output.csv", index=False)

Beachten Sie, dass json_normalize flacht genestet Objekte Aber geht Arrays Als Python-Listen – Wenn Sie den Schritt „Join“ überspringen, enthalten Ihre CSV-Zellen ['JavaScript', 'Python'] wörtlich. Jeder trifft das einmal.

Keine Pandas verfügbar? Die Standardbibliothek verarbeitet Flat JSON FINE:

import json, csv

with open("data.json") as f:
    data = json.load(f)

with open("output.csv", "w", newline="") as f:
    writer = csv.DictWriter(f, fieldnames=data[0].keys())
    writer.writeheader()
    writer.writerows(data)

Methode 4: Wie konvertiert man JSON von der Befehlszeile in CSV?

Am besten für: Shell-Skripte, CI-Pipelines, Server, bei denen die Installation von Pandas übertrieben ist.

jq macht es nativ mit @csv, das richtig entkommt:

cat data.json | jq -r '
  (.[0] | keys_unsorted) as $keys |
  ($keys | @csv),
  (.[] | [.[$keys[]]] | @csv)
'

csvkit& # 39; S. in2csv ist die mangelnde Option:

pip install csvkit
in2csv data.json > output.csv

und Miller (mlr) glänzt, wenn Sie im selben Durchgang filtern möchten:

mlr --json2csv filter '$age > 25' data.json > output.csv

Die Zusammenstellung ist der Punkt - curl -s api.example.com/data | jq ... > report.csv ist eine vollständige API-zu-Tabellenkalkulations-Pipeline in einer Zeile von Cron.


Methode 5: Können Sie JSON direkt in Excel oder Google Sheets importieren?

Am besten für: Nicht-Entwickler, Live-Erfrischungsdaten, einmalige Importe.

überragen: Daten → Daten abrufen → aus dem Web einfügen, die API-URL einfügen und Power Query bietet Ihnen einen visuellen Editor, um verschachtelte Datensätze vor dem Laden zu erweitern. Echt gut für wiederholte Aktualisierungen derselben Quelle.

Google-Sheets: Erweiterungen → Apps-Skript, dann eine kleine Abruffunktion:

function importJSON(url) {
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());
  if (!Array.isArray(data) || data.length === 0) return [["No data"]];
  const headers = Object.keys(data[0]);
  const rows = data.map(item => headers.map(h => item[h] ?? ""));
  return [headers, ...rows];
}

in einer Zelle als verwendet =importJSON("https://api.example.com/data")drohen

Ehrliches Nehmen: für einmalige Importe, Konvertierung mit dem Online-Tool Und das Öffnen des CSV ist schneller als beides. Die nativen Tabellenkalkulationsrouten verdienen ihre Einrichtungskosten nur, wenn die Daten nach einem Zeitplan aktualisiert werden.


Welche Methode sollten Sie wählen?

Methode Einrichtung Geschachtelter JSON Wiederkehrende Verwendung Daten bleiben lokal
Online-Konverter keine automatisch jedes Mal manuell Ja - clientseitig
Javascript / JSON2CSV npm install über flatten hervorragend ja
Python / Pandas PIP-Installation json_normalize hervorragend ja
JQ / CSVKIT / MLR Paketmanager Manuelle Pfade Ausgezeichnet (Cron / CI) ja
Excel / Blätter Konto / App UI der Stromabfrage Gut (automatisch auffrischen) Excel: Ja; Tabellen: Google-Server

Meine Regel: Greifen Sie bis zum dritten Mal nach dem Browser-Tool, wenn ich die gleiche Form von Daten konvertiere - dann wird es zu einem Skript.


Welche Edge-Fälle brechen die JSON-zu-CSV-Konvertierung?

Vier Fallen machen fast jeden kaputten Export aus, den ich debuggt habe:

inkonsistente Schlüssel. Objekt 1 hat email, Objekt 2 hat phone, Objekt 3 hat beides. Nehmen Sie nur die Header vom ersten Objekt und lassen Sie Daten stillschweigend löschen. Das Fix ist eine Schlüsselübereinstimmung über alle Objekte hinweg, wobei die Werte als leere Zellen fehlen - was gute Werkzeuge automatisch ausführen.

ungeschützte Sonderzeichen. Das Problem "Smith, Jones & amp; Partner". Pro RFC 4180: Umschließen von Werten, die Kommas, Anführungszeichen oder Zeilenumbrüche in doppelten Anführungszeichen enthalten, und doppelte Anführungszeichen ("He said ""hello""").).

Große Dateien. Nach 100 MB wird das Parsen der gesamten Datei schmerzhaft. stattdessen streamen - jq Streams, Pandas liest in Chunks und das JSON-Linienformat (ein Objekt pro Zeile) erleichtert beides. Für Dateien bis zu ein paar Dutzend MB ist das Browsertool in Ordnung, da es keinen Upload gibt.

Codierung. Namen und Adressen tragen Nicht-ASCII-Zeichen. Halten Sie alles UTF-8 durch und seien Sie auf Excel unter Windows, was historisch gesehen wollte, dass eine Stückliste UTF-8 korrekt erkennt.

Und eine Praxis, die nicht optional ist: validieren, bevor Sie konvertieren. Eine verkürzte JSON-Datei schlägt verwirrend in der Mitte der Konvertierung fehl, aber offensichtlich in der JSON-Formaterdrohen 30 Sekunden Validierung schlägt zehn Minuten "Warum ist meine CSV leer"


Häufig gestellte Fragen

Wie konvertiere ich JSON kostenlos online in CSV?

Fügen Sie Ihren JSON in die ein JSON zu CSV-Konverter auf toolz.dev — Es wird sofort CSV mit geschachtelten Objekten generiert und es wird geflacht, und ermöglicht Ihnen dann das Kopieren oder Herunterladen des Ergebnisses. Keine Anmeldung und Verarbeitung ist 100% clientseitig, sodass Ihre Daten Ihren Browser niemals verlassen.

Kann ich verschachteltes JSON in CSV konvertieren?

Ja. Verschachtelte Objekte flach in Punkt-Notation-Header (address.city) und Arrays werden entweder zu einer getrennten Zeichenfolge verbunden oder in indexierte Spalten aufgeteilt. der toolz.dev-Konverter wendet die Punktnotation automatisch an; in Python, pd.json_normalize() macht das gleiche.

Wie konvertiere ich eine JSON-Datei in Python in CSV?

import pandas as pd; pd.read_json("data.json").to_csv("output.csv", index=False) für flache JSON. Bei verschachtelten Strukturen verwenden pd.json_normalize(data) Zuerst - und denken Sie daran, beliebige Array-Spalten selbst zu verbinden, da die Normalisierung der Leaves-Listen intakt ist.

Was ist der beste Weg, um sehr große JSON-Dateien zu konvertieren?

Streamen statt laden: jq in der Befehlszeile oder Pandas mit chunked Reads. Das Konvertieren der Datei in JSON-Linien (ein Objekt pro Zeile) erleichtert das Streaming zunächst erheblich. Browsertools sind bis zu ein paar Dutzend MB bequem; über ~100 MB über die Befehlszeile.

Wie konvertiere ich CSV zurück in JSON?

der CSV-zu-JSON-Konverter Umkehrt die Fahrt – jede Zeile wird zu einem Objekt, das von der Kopfzeile kennzeichnet wird. Programmatisch: pd.read_csv("data.csv").to_json(orient="records")drohen

Warum hat meine CSV Zitate um einige Werte?

Das ist korrektes Verhalten, kein Fehler. RFC 4180 erfordert doppelte Anführungszeichen um jeden Wert, der Kommas, Zeilen oder Anführungszeichen enthält, wobei eingebettete Anführungszeichen verdoppelt werden. Tabellenkalkulationen und Parser streifen sie beim Lesen ab.

Ist die JSON-zu-CSV-Konvertierung verlustfrei?

Für Flat JSON, ja. Für verschachtelte JSON überleben die Werte, aber die Hierarchie ist abgeflacht Darstellungund Sie können nicht immer die genaue ursprüngliche Verschachtelung von ihnen rekonstruieren. Behalten Sie die Quelle JSON bei; behandeln Sie die CSV als abgeleitete Ansicht.

Warum sind meine Spalten nach dem Konvertieren falsch ausgerichtet?

Fast immer ein entweichender Fehler: Ein Wert, der ein Komma enthält, wurde nicht zitiert, sodass Parser von diesem Punkt an zusätzliche Spalten sehen. Es ist der genaue Fehler von meinem Laravel-Export-Button. Verwenden Sie einen Konverter, der RFC 4180 anstelle von String-Joining-Werten implementiert. Wenn Sie Ihre eigenen geschrieben haben, testen Sie ihn mit einem Wert wie Smith, Jones & Partnersdrohen

Wie konvertiere ich JSON in Excel oder Google Sheets in CSV?

Beide Apps importieren JSON über einen Helfer und nicht durch eine Paste. Verwenden Sie in Excel Daten → Daten abrufen → aus Datei → Von JSON, dann flach die Abfrage in Power Query und schließen und laden. Fügen Sie in Google Sheets kleine Arrays über ein temporäres Apps-Skript ein oder konvertieren Sie mit dem JSON-zu-CSV-Konverter Öffnen Sie zuerst die resultierende Datei - normalerweise den schnelleren Pfad für einen einmaligen Ausgleich.

Welche JSON-zu-CSV-Methode soll ich verwenden?

Für eine schnelle Einzeluntersuchung ist ein clientseitiger Konverter am schnellsten und hält Daten privat. Verwenden Sie für wiederholbare Pipelines Python mit Pandas; für große Dateien streamen Sie mit jq in der Befehlszeile und greifen Sie nur zum Tabellenkalkulationsimport, wenn Nicht-Entwickler den Workflow besitzen. Passen Sie das Werkzeug an, wie oft Sie den Job wiederholen, nicht nur auf die Größe der Datei.


Passen Sie die Methode an den Job an

JSON-zu-CSV sieht aus wie ein gelöster Einzeiler, bis ein Komma in einem Firmennamen 340 Zeilen mit Kundendaten um eine Spalte nach rechts verschiebt. Die Methode ist weniger wichtig als die Einhaltung des Formats: Escape per RFC 4180, Vereinigung Ihrer Schlüssel, Entscheiden Sie absichtlich Ihre Abflachungsstrategie und behalten Sie das ursprüngliche JSON.

Für die nächste einmalige Umstellung ist JSON-zu-CSV-Konverter ist der fünfzehn-Sekunden-Pfad. validieren Sie zuerst mit dem JSON-Formaterund wenn die Daten zurückreisen müssen, CSV-zu-JSON-Konverter Schließt die Schleife - alle drei in Ihrem Browser, keiner von ihnen sieht Ihre Daten serverseitig.


Verwandte Artikel:

Frequently Asked Questions

Paste your JSON into the JSON to CSV Converter on toolz.dev — it instantly generates CSV with nested objects flattened and escaping handled, then lets you copy or download the result. No signup, and processing is 100% client-side, so your data never leaves your browser.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!