JSON-Kodierung und -Dekodierung
Konvertieren Sie PHP-Arrays in JSON und analysieren Sie JSON-Antworten mit json_encode/json_decode.
JSON-Kodierung und -Dekodierung ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist JSON?
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenformat für die Kommunikation mit APIs und Konfigurationsdateien. PHP verfügt über integrierte Funktionen zum Kodieren und Dekodieren von JSON.
json_encode()
Wandelt einen PHP-Wert (Array, Objekt oder Skalar) in eine JSON-Zeichenkette um.
<?php
$data = ["name" => "Alice", "age" => 30, "active" => true];
$json = json_encode($data);
echo $json; // {"name":"Alice","age":30,"active":true}json_decode()
Analysiert eine JSON-Zeichenkette und gibt einen PHP-Wert zurück. Standardmäßig werden stdClass-Objekte zurückgegeben; übergeben Sie als zweites Argument true, um assoziative Arrays zu erhalten.
<?php
$json = '{"name":"Alice","age":30}';
$obj = json_decode($json); // stdClass
$arr = json_decode($json, true); // associative array
echo $arr["name"]; // "Alice"JSON formatiert ausgeben
Verwenden Sie das Flag JSON_PRETTY_PRINT, um die Ausgabe für Menschen besser lesbar zu formatieren.
<?php
$json = json_encode(["a" => 1, "b" => 2], JSON_PRETTY_PRINT);
echo $json;
// {
// "a": 1,
// "b": 2
// }Nützliche json_encode-Flags
Häufig verwendete Flags: JSON_UNESCAPED_UNICODE (UTF-8 unverändert beibehalten), JSON_UNESCAPED_SLASHES (kein umgekehrter Schrägstrich vor /), JSON_THROW_ON_ERROR (löst bei einem Fehler eine Exception aus).
<?php
$json = json_encode(["url" => "https://example.com/path"],
JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);Fehlerbehandlung
Prüfen Sie nach dem Kodieren oder Dekodieren json_last_error(), oder verwenden Sie JSON_THROW_ON_ERROR, damit automatisch eine Exception ausgelöst wird.
<?php
try {
$data = json_decode($input, true, 512, JSON_THROW_ON_ERROR);
} catch (\JsonException $e) {
echo "Invalid JSON: ".$e->getMessage();
}Objekte kodieren
Objekte werden als JSON-Objekte kodiert. Standardmäßig werden nur öffentliche Eigenschaften einbezogen. Implementieren Sie JsonSerializable, um die Serialisierung zu steuern.
<?php
class Point implements \JsonSerializable {
public function __construct(
private float $x, private float $y
) {}
public function jsonSerialize(): mixed {
return ["x" => $this->x, "y" => $this->y];
}
}
echo json_encode(new Point(1.0, 2.5)); // {"x":1,"y":2.5}Verschachtelte Strukturen
JSON unterstützt Verschachtelungen. Tief verschachtelte PHP-Arrays werden nahtlos in verschachtelte JSON-Objekte und -Arrays kodiert.
<?php
$order = [
"id" => 1,
"items" => [
["sku" => "A1", "qty" => 2],
["sku" => "B3", "qty" => 1],
],
];
echo json_encode($order, JSON_PRETTY_PRINT);Dekodierungstiefe
Der dritte Parameter von json_decode legt die maximale Rekursionstiefe fest (Standardwert: 512). Für sehr tief verschachteltes JSON ist möglicherweise ein höherer Grenzwert erforderlich.
JSON_NUMERIC_CHECK
Das Flag JSON_NUMERIC_CHECK konvertiert numerische Zeichenfolgen beim Kodieren in Zahlen. Verwenden Sie es mit Bedacht – es kann Telefonnummern beschädigen.
Große JSON-Dateien streamen
Verwenden Sie für sehr große JSON-Dateien eine Bibliothek zum Streamen, beispielsweise halaxa/json-machine, anstatt die gesamte Datei mit json_decode zu laden.
Zusammenfassung
json_encode konvertiert PHP-Werte in JSON-Zeichenfolgen. json_decode analysiert JSON. Verwenden Sie JSON_THROW_ON_ERROR für eine sichere Fehlerbehandlung.
Kurze Überprüfung
Wie erhalten Sie aus json_decode ein assoziatives Array?
Häufig gestellte Fragen
Ist die Lektion „JSON-Kodierung und -Dekodierung“ kostenlos?
Ja — der vollständige Text von „JSON-Kodierung und -Dekodierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „JSON-Kodierung und -Dekodierung“?
Konvertieren Sie PHP-Arrays in JSON und analysieren Sie JSON-Antworten mit json_encode/json_decode. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „JSON-Kodierung und -Dekodierung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- JSON-Kodierung und -Dekodierung
- HTTP-Anfragen mit cURL stellen
- API-Antworten und Fehler verarbeiten
- Einen einfachen API-Client erstellen