Heim > Web-Frontend > js-Tutorial > Beherrschen der JSON-Verarbeitung in JavaScript: Parsen und Stringifizieren

Beherrschen der JSON-Verarbeitung in JavaScript: Parsen und Stringifizieren

Linda Hamilton
Freigeben: 2024-12-28 13:58:10
Original
828 Leute haben es durchsucht

Mastering JSON Handling in JavaScript: Parsing and Stringifying

JSON-Handhabung in JavaScript (Parsing und Stringifizierung)

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.


1. Parsen von JSON-Strings

Die Methode JSON.parse() wird verwendet, um einen JSON-String in ein JavaScript-Objekt zu konvertieren.

Syntax

JSON.parse(text[, reviver]);
Nach dem Login kopieren
Nach dem Login kopieren
  • text: Die zu analysierende JSON-Zeichenfolge.
  • reviver (optional): Eine Funktion zum Transformieren des analysierten Objekts vor der Rückgabe.

Beispiele

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Fehlerbehandlung

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);
}
Nach dem Login kopieren

2. Stringifizieren von JavaScript-Objekten

Die Methode JSON.stringify() konvertiert ein JavaScript-Objekt in einen JSON-String.

Syntax

JSON.stringify(value[, replacer[, space]]);
Nach dem Login kopieren
  • Wert: Das zu stringifizierende Objekt.
  • Ersetzung (optional): Eine Funktion oder ein Array zum Filtern von Eigenschaften.
  • Leerzeichen (optional): Fügt Einrückung zur besseren Lesbarkeit hinzu.

Beispiele

A. Einfache Stringifizierung

const data = { name: "John", age: 30 };
const jsonString = JSON.stringify(data);
console.log(jsonString); // Output: {"name":"John","age":30}
Nach dem Login kopieren

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}
Nach dem Login kopieren

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
// }
Nach dem Login kopieren

Fehlerbehandlung

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);
}
Nach dem Login kopieren

3. Praktische Anwendungsfälle

A. Senden von Daten an einen Server

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)
});
Nach dem Login kopieren

B. Speichern von Daten im lokalen Speicher

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
Nach dem Login kopieren

C. Objekte tief kopieren

Verwenden von JSON-Methoden zum Erstellen einer tiefen Kopie eines Objekts (funktioniert nicht für Funktionen oder Zirkelverweise).

JSON.parse(text[, reviver]);
Nach dem Login kopieren
Nach dem Login kopieren

4. Unterschiede zwischen JSON- und JavaScript-Objekten

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

5. Zusammenfassung

  • Verwenden Sie JSON.parse(), um JSON-Strings in JavaScript-Objekte zu konvertieren.
  • Verwenden Sie JSON.stringify(), um JavaScript-Objekte in JSON-Strings zu konvertieren.
  • JSON ist für den Datenaustausch in Webanwendungen unerlässlich, insbesondere mit APIs und lokalem Speicher.
  • Behandeln Sie beim Parsen oder Stringifizieren von JSON immer Fehler.

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage