JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das für Menschen leicht zu lesen und zu schreiben und für Maschinen leicht zu analysieren und zu generieren ist. JavaScript bietet integrierte Methoden zum Parsen von JSON-Strings in Objekte und zum Konvertieren von Objekten in JSON-Strings.
Die Methode JSON.parse() wird verwendet, um einen JSON-String in ein JavaScript-Objekt zu konvertieren.
JSON.parse(text[, reviver]);
A. Einfaches Parsen
const jsonString = '{"name": "John", "age": 30}'; const parsedData = JSON.parse(jsonString); console.log(parsedData.name); // Output: John console.log(parsedData.age); // Output: 30
B. Verwendung einer Reviver-Funktion
Mit der Reviver-Funktion kann der Parsing-Prozess angepasst werden.
const jsonString = '{"name": "John", "birthYear": 1990}'; const parsedData = JSON.parse(jsonString, (key, value) => { if (key === "birthYear") { return 2024 - value; // Convert birth year to age } return value; }); console.log(parsedData.birthYear); // Output: 34
JSON.parse() immer in einen try...catch-Block einschließen, um ungültiges JSON zu verarbeiten.
const invalidJson = "{name: 'John', age: 30}"; // Invalid JSON (keys must be in quotes) try { const data = JSON.parse(invalidJson); } catch (error) { console.error("Invalid JSON:", error.message); }
Die Methode JSON.stringify() konvertiert ein JavaScript-Objekt in einen JSON-String.
JSON.stringify(value[, replacer[, space]]);
A. Einfache Stringifizierung
const data = { name: "John", age: 30 }; const jsonString = JSON.stringify(data); console.log(jsonString); // Output: {"name":"John","age":30}
B. Verwenden einer Ersetzungsfunktion
Die Ersetzungsfunktion filtert oder transformiert die Eigenschaften des Objekts.
const data = { name: "John", age: 30, password: "secret" }; const jsonString = JSON.stringify(data, (key, value) => { if (key === "password") return undefined; // Exclude passwords return value; }); console.log(jsonString); // Output: {"name":"John","age":30}
C. Einrückung hinzufügen
Der Leerzeichenparameter formatiert die Ausgabe mit Einrückung.
const data = { name: "John", age: 30 }; const jsonString = JSON.stringify(data, null, 2); console.log(jsonString); // Output: // { // "name": "John", // "age": 30 // }
Zirkelverweise in Objekten führen dazu, dass JSON.stringify() einen Fehler auslöst.
const circularObject = {}; circularObject.self = circularObject; try { JSON.stringify(circularObject); } catch (error) { console.error("Cannot stringify circular object:", error.message); }
Konvertieren Sie ein JavaScript-Objekt in einen JSON-String, bevor Sie es in einer HTTP-Anfrage senden.
const data = { name: "John", age: 30 }; fetch("https://example.com/api", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data) });
Daten im JSON-Format mit localStorage speichern und abrufen.
const data = { name: "John", age: 30 }; localStorage.setItem("user", JSON.stringify(data)); // Storing data const userData = JSON.parse(localStorage.getItem("user")); // Retrieving data console.log(userData.name); // Output: John
Verwenden von JSON-Methoden zum Erstellen einer tiefen Kopie eines Objekts (funktioniert nicht für Funktionen oder Zirkelverweise).
JSON.parse(text[, reviver]);
JSON | JavaScript Object |
---|---|
Text format (string) | In-memory data structure |
Keys must be strings (quoted) | Keys can be strings or symbols |
Cannot store methods/functions | Can store methods/functions |
Die Beherrschung der JSON-Verarbeitung ist eine wichtige Fähigkeit für die Erstellung moderner, datengesteuerter Webanwendungen.
Hallo, ich bin Abhay Singh Kathayat!
Ich bin ein Full-Stack-Entwickler mit Fachwissen sowohl in Front-End- als auch in Back-End-Technologien. Ich arbeite mit einer Vielzahl von Programmiersprachen und Frameworks, um effiziente, skalierbare und benutzerfreundliche Anwendungen zu erstellen.
Sie können mich gerne unter meiner geschäftlichen E-Mail-Adresse erreichen: kaashshorts28@gmail.com.
Das obige ist der detaillierte Inhalt vonBeherrschen der JSON-Verarbeitung in JavaScript: Parsen und Stringifizieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!