„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was ist JSON?

Was ist JSON?

Veröffentlicht am 04.11.2024
Durchsuche:779

What is JSON?

Arbeiten mit JSON

Wenn Sie Entwickler sind, haben Sie wahrscheinlich schon von JSON (JavaScript Object Notation) gehört. Es ist überall! Von APIs bis hin zu Konfigurationsdateien ist JSON das bevorzugte Format für den Datenaustausch. Aber wie arbeiten wir damit in Node.js? Lassen Sie es uns in einfachen Worten zusammenfassen, mit einigen Beispielen aus der Praxis, die Ihnen dabei helfen.


Was ist JSON?

Einfach ausgedrückt ist JSON ein Format zum Speichern und Austauschen von Daten. Es ist einfach zu lesen und zu schreiben, was es für die Webentwicklung sehr beliebt macht. Es sieht so aus:

{
  "name": "Alice",
  "age": 25,
  "city": "Wonderland"
}

Es ist im Grunde eine Sammlung von Schlüssel-Wert-Paaren, wie ein JavaScript-Objekt. Aber denken Sie daran: JSON ist nur Text – er muss in ein Objekt umgewandelt werden, um in Ihrem Code nützlich zu sein.


Parsen von JSON in Node.js

Beginnen wir damit, einen JSON-String zu nehmen und ihn in etwas umzuwandeln, mit dem wir arbeiten können – ein JavaScript-Objekt. Wir tun dies mit JSON.parse().

Beispiel: JSON analysieren

const jsonString = '{"name": "Alice", "age": 25, "city": "Wonderland"}';
const jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // Output: Alice

Dies nimmt einen JSON-String, analysiert ihn und wandelt ihn in ein JavaScript-Objekt um. Sie können jetzt auf seine Eigenschaften wie Name, Alter oder Stadt zugreifen.


Konvertieren von Objekten in JSON

Was ist, wenn Sie Ihre Daten als JSON senden müssen? Hier kommt JSON.stringify() ins Spiel. Es nimmt Ihr JavaScript-Objekt und wandelt es in einen JSON-String um.

Beispiel: Konvertieren eines Objekts in JSON

const user = {
  name: "Alice",
  age: 25,
  city: "Wonderland"
};

const jsonString = JSON.stringify(user);
console.log(jsonString);
// Output: {"name":"Alice","age":25,"city":"Wonderland"}

Dies ist sehr nützlich, wenn Sie APIs erstellen oder Daten als JSON speichern.


Lesen und Schreiben von JSON-Dateien in Node.js

Müssen Sie mit JSON-Dateien arbeiten? Node.js macht es mit dem fs-Modul (File System) ganz einfach. Sie können JSON-Dateien ohne großen Aufwand lesen und schreiben.

Beispiel: Lesen einer JSON-Datei

const fs = require('fs');

fs.readFile('data.json', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  const jsonData = JSON.parse(data);
  console.log(jsonData);
});

Hier verwenden wir fs.readFile(), um die JSON-Datei zu lesen und dann den Dateiinhalt in ein JavaScript-Objekt zu analysieren. Jetzt können Sie mit den Daten machen, was Sie wollen!

Beispiel: Schreiben in eine JSON-Datei

const fs = require('fs');

const user = {
  name: "Alice",
  age: 25,
  city: "Wonderland"
};

fs.writeFile('output.json', JSON.stringify(user, null, 2), (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Data saved to output.json');
});

In diesem Fall wandelt JSON.stringify() das Objekt in einen schönen, formatierten JSON-String um und fs.writeFile() speichert ihn in einer Datei. Einfach!


Senden und Empfangen von JSON mit HTTP-Anfragen

Beim Erstellen von APIs ist JSON das Format der Wahl zum Senden und Empfangen von Daten. In Express.js können Sie JSON-Daten mühelos senden und empfangen.

Beispiel: JSON in einer Antwort senden

const express = require('express');
const app = express();

app.get('/user', (req, res) => {
  const user = { name: "Alice", age: 25, city: "Wonderland" };
  res.json(user);
});

app.listen(3000, () => console.log('Server running on port 3000'));

Hier senden wir ein JSON-Objekt als Antwort auf eine HTTP-GET-Anfrage. Es ist so einfach wie der Aufruf von res.json()!

Beispiel: JSON in einer Anfrage empfangen

app.use(express.json()); // Middleware to parse JSON body

app.post('/user', (req, res) => {
  const user = req.body;
  console.log(user); // Output: { name: "Alice", age: 25, city: "Wonderland" }
  res.send('User received!');
});

In diesem Beispiel verwenden wir die Middleware express.json(), um eingehende JSON-Daten aus dem Anforderungstext automatisch zu analysieren und sie in ein JavaScript-Objekt umzuwandeln, das wir verwenden können.


Umgang mit JSON-Fehlern

Was passiert, wenn Sie fehlerhafte JSON-Daten erhalten? Keine Sorge – Node.js verfügt über eine integrierte Fehlerbehandlung. Mal sehen, wie man diese Fehler erkennt.

Beispiel: Umgang mit Parsing-Fehlern

const faultyJson = '{"name": "Alice", "age": 25'; // Oops, missing closing bracket

try {
  const jsonObj = JSON.parse(faultyJson);
} catch (error) {
  console.error('Failed to parse JSON:', error.message);
}

Wenn der JSON defekt ist, gibt JSON.parse() einen Fehler aus. In diesem Fall hilft uns der Try-Catch-Block dabei, elegant damit umzugehen.


Zusammenfassung

JSON ist ein Muss, wenn Sie mit Daten in Node.js arbeiten. Egal, ob Sie JSON-Daten analysieren, erstellen, lesen oder senden, die integrierten Methoden in Node.js machen es einfach. Verwenden Sie JSON.parse(), um Strings in Objekte umzuwandeln, JSON.stringify() für den umgekehrten Weg und Express.js für eine reibungslose JSON-Verarbeitung in Ihrer API.

Machen Sie sich mit JSON vertraut und Sie erhalten eines der wertvollsten Tools in Ihrem Entwickler-Toolkit!


Referenzen:

  1. Node.js-Dokumentation: Arbeiten mit JSON
  2. Express.js-Leitfaden: Umgang mit JSON-Anfragen
  3. MDN-Webdokumente: JSON.parse()

Vielen Dank fürs Lesen und viel Spaß beim Codieren! ?

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/hakimmohamed/what-is-json-3fi4?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3