Zum Hauptinhalt springen

CSV in JSON umwandeln

Jede CSV-Zeile wird zu einem JSON-Objekt, und die Überschriftenzeile liefert die Eigenschaftsnamen. Diese Anleitung schickt eine kleine Datei mit einem Komma in Anführungszeichen und einem maskierten Anführungszeichen durch den Konverter und erklärt jede angewandte Regel.

Praxisbeispiel

Eingabe (CSV)
id,name,item,price,paid
1,"Smith, Jane","Monitor 27""",189.99,true
2,Kim,Keyboard,,false
Ausgabe (JSON)
[
  {
    "id": 1,
    "name": "Smith, Jane",
    "item": "Monitor 27\"",
    "price": 189.99,
    "paid": true
  },
  {
    "id": 2,
    "name": "Kim",
    "item": "Keyboard",
    "price": null,
    "paid": false
  }
]

Weil "Smith, Jane" in doppelten Anführungszeichen steht, bleibt das Komma Teil des Werts, statt eine neue Spalte zu beginnen. In "Monitor 27""" wird das verdoppelte Anführungszeichen zu einem einzelnen wörtlichen Anführungszeichen. Der leere Preis von Kim wird zu null, und Zahlen sowie true/false werden als JSON-Typen ausgegeben, nicht als Zeichenketten.

So verarbeitet der Konverter die Daten

  • Jede nicht leere Zeile ist ein Datensatz, Leerzeilen werden übersprungen. Ein Wert in Anführungszeichen darf keinen Zeilenumbruch enthalten.
  • Setzen Sie einen Wert in doppelte Anführungszeichen, wenn er das Trennzeichen enthält. Innerhalb der Anführungszeichen schreiben Sie ein Anführungszeichen als zwei Anführungszeichen ("").
  • Leerzeichen am Anfang und Ende jedes Werts werden entfernt.
  • Ist „Erste Zeile als Überschriften“ aktiviert, liefert die erste Zeile die Schlüssel; ist die Option deaktiviert, lauten die Schlüssel col0, col1, col2 und so weiter.
  • Leere Zellen und das Wort null werden zu null, true und false (in beliebiger Groß- und Kleinschreibung) werden zu booleschen Werten, und numerischer Text wird auch in Anführungszeichen zu einer Zahl – aus 00123 wird also 123.
  • Zeilen mit weniger Werten als Überschriften erhalten null für die fehlenden Spalten; Werte nach der letzten Überschrift werden verworfen.

Weitere Umwandlungsanleitungen