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:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - 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',').
- Die Funktion wird einen CSV-String zurückgeben, der nur die angegebenen Spalten und die Werte der Objekte enthält.
- Wenn kein Trennzeichen angegeben ist, wird das Standardtrennzeichen
','verwendet. - 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.