PHP und JSON
Was ist JSON?
JSON steht für JavaScript Object Notation und ist eine Syntax zum Speichern und Austauschen von Daten.
Da das JSON-Format ein textbasiertes Format ist, kann es problemlos an und von einem Server gesendet und von jeder Programmiersprache als Datenformat verwendet werden.
PHP und JSON
PHP hat einige eingebaute Funktionen, um mit JSON umzugehen.
Zunächst betrachten wir die folgenden zwei Funktionen:
- json_encode()
- json_decode()
PHP - json_encode()
Die Funktion json_encode() wird verwendet, um einen Wert im JSON-Format zu codieren.
Beispiel
Dieses Beispiel zeigt, wie ein assoziatives Array in ein JSON-Objekt codiert wird:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Beispiel
Dieses Beispiel zeigt, wie ein indiziertes Array in ein JSON-Array codiert wird:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
PHP - json_decode()
Die Funktion json_decode() wird verwendet, um ein JSON-Objekt in ein PHP-Objekt oder ein assoziatives Array zu dekodieren.
Beispiel
Dieses Beispiel decodiert JSON-Daten in ein PHP-Objekt:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
Die Funktion json_decode() gibt standardmäßig ein Objekt zurück. Die Funktion json_decode() hat einen zweiten Parameter, und wenn sie auf „true“ gesetzt ist, werden JSON-Objekte in assoziative Arrays decodiert.
Beispiel
Dieses Beispiel decodiert JSON-Daten in ein assoziatives PHP-Array:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
PHP - Zugriff auf die decodierten Werte
Hier sind zwei Beispiele für den Zugriff auf die dekodierten Werte eines Objekts und eines assoziativen Arrays:
Beispiel
Dieses Beispiel zeigt, wie Sie auf die Werte eines PHP-Objekts zugreifen:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Beispiel
Dieses Beispiel zeigt, wie Sie auf die Werte eines assoziativen PHP-Arrays zugreifen:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
PHP - Durchlaufen der Werte
Sie können die Werte auch mit einer foreach() -Schleife durchlaufen :
Beispiel
Dieses Beispiel zeigt, wie Sie die Werte eines PHP-Objekts durchlaufen:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Beispiel
Dieses Beispiel zeigt, wie die Werte eines assoziativen PHP-Arrays durchlaufen werden:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>