“json_encode” und “json_decode” sind zwei wichtige Funktionen in PHP, die verwendet werden, um mit JSON-Daten (JavaScript Object Notation) zu arbeiten. JSON ist ein leichtgewichtiges Datenformat, das einfach von Menschen lesbar und von Maschinen leicht parsebar ist. Es wird häufig verwendet, um Daten zwischen Server und Webanwendungen zu übertragen.
Die Funktion `json_encode` in PHP wird verwendet, um ein PHP-Array oder -Objekt in einen JSON-formatierten String umzuwandeln. Das ist besonders nützlich, wenn man Daten zu einer Web-Applikation oder zu einem Webdienst senden möchte, der JSON versteht.
```php
$data = array(
“name” => “Max”,
“age” => 28,
“city” => “Berlin“
);
$jsonData = json_encode($data);
echo $jsonData;
?>
```
Ausgabe:
```json
{name“Max”,age:“city”:“Berlin”}
```
In diesem Beispiel wird ein assoziatives Array in einen JSON-formatierten String umgewandelt. Diese Strings können dann z.B. mittels einer API an einen Server gesendet werden.
- [PHP.net: json_encode](https://www.php.net/manual/en/function.json-encode.php)
- [JSON.org](https://www.json.org/json-en.html)
Die Funktion `json_decode` wird verwendet, um einen JSON-formatierten String wieder in ein PHP-Array oder -Objekt umzuwandeln. Das ist nützlich, wenn man JSON-Daten empfängt, z.B. von einer Web-API, und diese Daten in einer PHP-Anwendung weiterverarbeiten möchte.
```php
$jsonString = ‘{name“Max”,age:“city”:“Berlin”}’;
$data = json_decode($jsonString, true);
print_r($data);
?>
```
Ausgabe:
```php
Array
(
[name] => Max
[age] => 28
[city] => Berlin
)
```
Hier haben wir den JSON-formatierten String zurück in ein PHP-assoziatives Array umgewandelt. Der zweite Parameter von `json_decode` (in diesem Fall `true`) gibt an, dass das JSON in ein assoziatives Array und nicht in ein Objekt umgewandelt werden soll.
Beide Funktionen sind relativ robust, aber es ist eine gute Idee, auf Fehlermeldungen zu achten, besonders wenn man Daten von externen Quellen empfängt, die möglicherweise nicht gut formatiert sind. Man kann zum Beispiel `json_last_error` und `json_last_error_msg` verwenden, um mögliche Fehler zu diagnostizieren.
```php
$jsonString = ‘{name“Max”,age:“city”:“Berlin”’; // Falsch formatiertes JSON
$data = json_decode($jsonString, true);
if (json_last_error() !== JSON_ERROR_NONE) {
echo ‘JSON Fehler: ‘ . json_last_error_msg();
}
?>
```
- [PHP.net: json_decode](https://www.php.net/manual/en/function.json-decode.php)
- [Wikipedia: JSON](https://en.wikipedia.org/wiki/JSON)
Die Funktionen `json_encode` und `json_decode` in PHP sind essenziell, um erfolgreich mit JSON-Daten zu arbeiten. `json_encode` wandelt PHP-Datenstrukturen in JSON-formatierte Strings um, während `json_decode` JSON-Daten wieder in PHP-Datenstrukturen umwandelt. Diese Methoden sind sehr nützlich für die Interaktion mit Web-APIs und das Übertragen von Daten zwischen verschiedenen Teilen einer Web-Applikation.