PHP JSON verwenden: Daten einfach austauschen und verarbeiten

Samuel Becker

JSON gehört zu den wichtigsten Formaten, wenn Daten zwischen Anwendungen, APIs und Webdiensten ausgetauscht werden. Auch in PHP ist der Umgang mit JSON längst Alltag. Wer moderne Webanwendungen entwickelt, kommt kaum daran vorbei, JSON-Daten zu lesen, zu erzeugen und weiterzuverarbeiten. Der große Vorteil liegt in der einfachen Struktur: JSON ist kompakt, gut lesbar und wird von nahezu jeder Programmiersprache unterstützt.

In PHP gibt es dafür bereits eingebaute Funktionen, sodass keine zusätzliche Bibliothek nötig ist. Genau das macht den Einstieg besonders leicht. Ob Konfigurationsdateien, API-Antworten oder AJAX-Anfragen aus dem Browser: JSON ist oft das Bindeglied zwischen verschiedenen Systemen. Deshalb lohnt es sich, die grundlegenden Werkzeuge in PHP sicher zu beherrschen. Besonders wichtig sind dabei die Funktionen json_encode() und json_decode(), denn mit ihnen lassen sich PHP-Datenstrukturen in JSON umwandeln und wieder zurücklesen.

JSON in PHP erzeugen

Wenn Daten aus PHP als JSON ausgegeben werden sollen, kommt meist json_encode() zum Einsatz. Diese Funktion wandelt Arrays oder Objekte in einen JSON-String um. Das ist besonders nützlich, wenn ein Server Daten an eine JavaScript-Anwendung oder an eine externe API senden soll. Ein einfaches Beispiel ist ein assoziatives Array mit Benutzerdaten, das in JSON umgewandelt wird. Aus einem PHP-Array mit Name, E-Mail und Alter entsteht dann ein sauber formatierter JSON-Text.

Wichtig ist, dass nur Daten verwendet werden, die sich sinnvoll serialisieren lassen. Normale Strings, Zahlen, Booleans, Arrays und Objekte sind dabei unproblematisch. Schwieriger wird es bei Ressourcen oder ungültigen Zeichensätzen. Dann kann json_encode() fehlschlagen. In solchen Fällen hilft json_last_error() oder moderner json_last_error_msg(), um den Fehler genauer zu prüfen. Für lesbarere Ausgaben kann zusätzlich die Option JSON_PRETTY_PRINT verwendet werden. Das ist besonders praktisch beim Debugging oder beim Speichern von Konfigurationsdaten.

Lesen:  Das CMYK-Farbmodell

JSON-Daten mit PHP auslesen

Ebenso wichtig wie das Erzeugen ist das Einlesen von JSON. Dafür bietet PHP die Funktion json_decode(). Sie wandelt einen JSON-String zurück in eine PHP-Datenstruktur. Standardmäßig entsteht dabei ein Objekt, auf dessen Eigenschaften mit der Pfeilnotation zugegriffen wird. Wer lieber mit Arrays arbeitet, kann als zweiten Parameter true übergeben. Dann liefert json_decode() ein assoziatives Array zurück. Das ist häufig angenehmer, wenn Daten flexibel durchsucht oder verändert werden sollen. Besonders oft wird diese Funktion genutzt, wenn Daten von einer API empfangen werden.

Lesen Sie auf der Startseite von WebmasterPro viele weitere spannende Artikel.

Zuerst wird die Antwort als Text geladen, danach in PHP dekodiert und anschließend weiterverarbeitet. Dabei sollte immer geprüft werden, ob der JSON-String gültig ist. Fehlerhafte Syntax, abgeschnittene Antworten oder falsche Zeichenkodierung können dazu führen, dass json_decode() null zurückgibt. Ohne Fehlerprüfung bleibt so ein Problem leicht unbemerkt. Gute Praxis ist daher, nach dem Dekodieren den Fehlerstatus zu kontrollieren und ungültige Daten sauber abzufangen.

PHP JSON anwenden

Typische Einsatzbereiche von JSON in PHP

In der Praxis begegnet JSON in PHP an vielen Stellen. Ein klassischer Einsatzbereich sind REST-APIs. Wenn ein PHP-Backend Daten bereitstellt, sendet es oft JSON als Antwort an Frontend-Anwendungen, mobile Apps oder andere Server. Ebenso kann PHP externe JSON-Schnittstellen konsumieren, etwa Wetterdaten, Zahlungsinformationen oder Produktdaten aus einem Fremdsystem. Ein weiterer häufiger Anwendungsfall sind Konfigurationsdateien. Statt Werte in PHP-Dateien zu hinterlegen, lassen sich Einstellungen in einer JSON-Datei speichern und beim Start einlesen.

Das ist übersichtlich und erleichtert die Trennung von Code und Konfiguration. Auch bei Formularen und JavaScript-Anwendungen spielt JSON eine zentrale Rolle. Wenn der Browser Daten per Fetch oder AJAX sendet, kommen diese häufig als JSON beim PHP-Skript an. Dort müssen sie eingelesen, geprüft und verarbeitet werden. Gerade in solchen Szenarien ist es wichtig, nicht blind auf den Inhalt zu vertrauen. Eingehende JSON-Daten sollten validiert werden, damit keine unvollständigen oder manipulierten Werte in die Anwendung gelangen.

Lesen:  Typografie Grundlagen - Das sollte man zu Beginn wissen

Worauf man beim PHP JSON verwenden achten sollte

Obwohl JSON in PHP leicht zu verwenden ist, gibt es einige Punkte, die in der Praxis wichtig sind. Einer davon ist die Zeichenkodierung. JSON erwartet UTF-8. Werden Daten mit anderer Kodierung verarbeitet, kann das zu Fehlern oder beschädigten Zeichen führen. Außerdem sollte man sich früh entscheiden, ob man mit Objekten oder Arrays arbeiten möchte, damit der Code konsistent bleibt. Auch bei numerischen Werten ist Aufmerksamkeit gefragt, denn große Zahlen oder Dezimalwerte können je nach Verarbeitung unerwartet dargestellt werden.

Wer JSON an den Browser ausgibt, sollte zusätzlich den passenden Header setzen, also Content-Type: application/json. So erkennt der Empfänger direkt das richtige Format. Für robuste Anwendungen lohnt sich außerdem die Verwendung von Optionen wie JSON_UNESCAPED_UNICODE, wenn Umlaute lesbarer bleiben sollen. Insgesamt ist JSON in PHP jedoch ein sehr komfortables Werkzeug. Mit wenigen Funktionen lassen sich Daten zuverlässig austauschen, speichern und weiterverarbeiten. Wer json_encode() und json_decode() sicher beherrscht, legt eine wichtige Grundlage für die Entwicklung moderner PHP-Anwendungen.

Samuel Becker