JSON ausliefern (eine API bauen)
Deinen Server die Sprache des Webs sprechen lassen
⏱ ca. ~7 Min
01 · Lesen
Bis jetzt haben deine Routes mit res.send() einfachen Text zurückgegeben. Für simple Nachrichten ist das in Ordnung, aber echte APIs geben keinen Klartext zurück — sie geben JSON zurück.
Erinnerst du dich an JSON aus Level 5? Es ist das universelle Datenformat im Web. Wenn dein Handy das Wetter abfragt, eine Website dein Profil lädt oder eine App neue Posts holt — diese Daten kommen alle als JSON.
Express macht das super einfach. Statt res.send() benutzt du res.json() und übergibst ein JavaScript-Objekt. Express wandelt es automatisch in JSON um und setzt die richtigen Header, damit Browser und Apps wissen, wie sie es lesen sollen.
Kernpunkte
- res.send() gibt Klartext zurück
- res.json() gibt JSON-Daten zurück — Standard für APIs
- Express übernimmt automatisch die Umwandlung von JavaScript-Objekt zu JSON
- So funktioniert hinter den Kulissen jede API, die du je benutzt hast
02 · Echte Übung
Füg deiner app.js eine neue JSON-Route hinzu. Diese Route gibt die aktuelle Zeit und das Datum als strukturierte Daten zurück. Setz sie zu deinen anderen Routes (vor app.listen()).
app.get('/api/time', (req, res) => {
res.json({
time: new Date().toLocaleTimeString(),
date: new Date().toLocaleDateString()
});
});03 · Quiz
Was ist der Unterschied zwischen res.send() und res.json()?
- res.send() ist schneller als res.json()
- res.json() funktioniert nur mit Arrays
- Es gibt keinen Unterschied
- res.send() gibt Klartext zurück, res.json() gibt strukturierte JSON-Daten zurück
04 · Echte Übung
Stopp den Server mit Ctrl+C und starte ihn neu, dann ruf die neue Route im Browser auf. Du solltest JSON-Daten mit der aktuellen Zeit und dem Datum sehen — kein Klartext, sondern strukturierte Daten mit geschweiften Klammern und Schlüssel-Wert-Paaren.
node app.js
http://localhost:3000/api/time
05 · Ausfüllen
Um in Express JSON-Daten zurückzugeben, benutzt du res._____() statt res.send().
06 · Lesen
Dein Server spricht jetzt JSON — dieselbe Sprache wie jede API im Web.
Lad die Seite ein paar Mal neu. Merkst du, dass die Zeit sich bei jeder Anfrage ändert? Das liegt daran, dass dein Server den Code jedes Mal neu ausführt, wenn jemand die URL aufruft. Er ist dynamisch — er erzeugt die Antwort basierend auf dem aktuellen Moment.
Das ist der Unterschied zwischen statischen Websites (Inhalt ist jedes Mal gleich) und APIs (Inhalt ändert sich je nach Daten, Zeit, Nutzer oder was auch immer).
Erinnerst du dich an APIs und JSON aus Level 5? Du bist jetzt auf der anderen Seite dieses Dialogs. Du benutzt nicht nur APIs — du baust sie.
07 · Quiz
Warum gibt der Endpoint /api/time jedes Mal eine andere Zeit zurück, wenn du neu lädst?
- Der Server ruft bei jeder Anfrage erneut new Date() auf und gibt deshalb immer die aktuelle Zeit zurück
- Der Browser cacht verschiedene Versionen der Seite
- Express erzeugt für jede Antwort einen zufälligen Zeitstempel
- Das JSON-Format aktualisiert Zeitstempel automatisch
Andere Lektionen aus diesem Kapitel
⚠ Das volle interaktive Erlebnis braucht JavaScript. Bitte aktiviere es und lade die Seite neu.
※ Diese Seite ist ein unabhängiges Bildungsprojekt — kein offizielles Anthropic-Produkt. Claude™ ist eine eingetragene Marke von Anthropic, PBC.