(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. |