(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — Dekodiert eine JSON-Zeichenkette
Konvertiert eine JSON-kodierte Zeichenkette in eine PHP-Variable.
Der zu dekodierende json -String.
Wenn TRUE, werden zurückgegebene Objekte in assoziative Arrays konvertiert.
Gibt ein Objekt oder, wenn der optionale Parameter assoc auf TRUE gesetzt ist, stattdessen ein assoziatives Array zurück.
Beispiel #1 json_decode()-Beispiele
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
Beispiel #2 Ein weiteres Beispiel
<?php
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>
Beispiel #3 Häufige Fehler bei der Verwendung von json_decode()
<?php
// die folgenden Zeichenketten sind gültiges JavaScript aber kein gültiges JSON
// der Name und der Wert müssen in doppelten Anführungszeichen eingeschlossen werden
// einfache Anführungszeichen sind ungültig
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null
// der Name muss in doppelten Anführungszeichen eingeschlossen werden
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null
// nachfolgende Kommata sind nicht erlaubt
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null
?>
Hinweis: Die JSON-Spezifikation ist nicht JavaScript, aber ein Subset davon.
Diese Funktion gibt FALSE zurück, wenn JSON-kodierte Daten tiefer als 127 Ebenen verschachtelt sind.
| Version | Beschreibung |
|---|---|
| 5.2.3 | Die Verschachtelungsgrenze wurde von 20 auf 128 angehoben. |