JSON in CSV umwandeln

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir in die Welt der JavaScript-Programmierung eintauchen und den Prozess des Konvertierens von JSON-Daten in das CSV-Format erkunden. Durch dieses Lab lernen Sie, wie Sie eingebautes Methoden wie join(), map() und reduce() verwenden, um ein Array von Objekten in einen String umzuwandeln, der in Tabellenkalkulationssoftware leicht gelesen und manipuliert werden kann. Dieses Lab ist ideal für Personen, die einen tieferen Einblick in die Datenmanipulation in JavaScript gewinnen möchten.

JSON in CSV umwandeln

Um ein Array von Objekten in einen als durch Kommas getrennte Werte (CSV) formatierten String mit bestimmten Spalten zu konvertieren, verwenden Sie die folgende Funktion:

const JSONtoCSV = (arr, columns, delimiter = ",") =>
  [
    columns.join(delimiter),
    ...arr.map((obj) =>
      columns.reduce(
        (acc, key) =>
          `${acc}${!acc.length ? "" : delimiter}"${!obj[key] ? "" : obj[key]}"`,
        ""
      )
    )
  ].join("\n");

Um sie zu verwenden, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen.
  2. Rufen Sie die JSONtoCSV-Funktion mit den folgenden Argumenten auf:
    • arr: Ein Array von Objekten, die konvertiert werden sollen.
    • columns: Ein Array von Zeichenketten, die die Spalten angeben, die im CSV-Ausgabe enthalten sein sollen.
    • delimiter: Ein optionaler String, der den zu verwendenden Trennzeichen angibt (Standardwert ist ',').
  3. Die Funktion wird einen CSV-String zurückgeben, der nur die angegebenen Spalten und die Werte der Objekte enthält.
  4. Wenn kein Trennzeichen angegeben ist, wird das Standardtrennzeichen ',' verwendet.
  5. Im folgenden Codeblock werden Beispiele für die Verwendung der Funktion bereitgestellt.
JSONtoCSV(
  [{ a: 1, b: 2 }, { a: 3, b: 4, c: 5 }, { a: 6 }, { b: 7 }],
  ["a", "b"]
); // 'a,b\n"1","2"\n"3","4"\n"6",""\n"","7"'

JSONtoCSV(
  [{ a: 1, b: 2 }, { a: 3, b: 4, c: 5 }, { a: 6 }, { b: 7 }],
  ["a", "b"],
  ";"
); // 'a;b\n"1";"2"\n"3";"4"\n"6";""\n"";"7"'

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das JSON in CSV Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.