JSON-Funktionen
PHP Manual

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_decodeDekodiert eine JSON-Zeichenkette

Beschreibung

mixed json_decode ( string $json [, bool $assoc= false [, int $depth= 512 ]] )

Konvertiert eine JSON-kodierte Zeichenkette in eine PHP-Variable.

Parameter-Liste

json

Der zu dekodierende json -String.

assoc

Wenn TRUE, werden zurückgegebene Objekte in assoziative Arrays konvertiert.

depth

Rückgabewerte

Gibt ein Objekt oder, wenn der optionale Parameter assoc auf TRUE gesetzt ist, stattdessen ein assoziatives Array zurück.

Beispiele

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($jsontrue));

?>

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

?>

Anmerkungen

Hinweis: Die JSON-Spezifikation ist nicht JavaScript, aber ein Subset davon.

Achtung

Diese Funktion gibt FALSE zurück, wenn JSON-kodierte Daten tiefer als 127 Ebenen verschachtelt sind.

Changelog

Version Beschreibung
5.2.3 Die Verschachtelungsgrenze wurde von 20 auf 128 angehoben.

Siehe auch


JSON-Funktionen
PHP Manual