(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — Décode une chaîne JSON
Récupère une chaîne encodée JSON et la convertie en une variable PHP.
La chaîne json à décoder.
Lorsque ce paramètre vaut TRUE, l'objet retourné sera converti en un tableau associatif.
Limite de profondeur d'imbrication.
Retourne un objet ou, si le paramètre optionnel assoc vaut TRUE, un tableau associatif.
Exemple #1 Exemple avec json_decode()
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
L'exemple ci-dessus va afficher :
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) }
Exemple #2 Autre exemple avec json_decode()
<?php
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>
Exemple #3 Erreurs habituelles lors de l'utilisation de la fonction json_decode()
<?php
// Les chaînes suivantes sont valides en JavaScript mais pas en JSON
// Le nom et la valeur doivent être entourrés de double-guillemets.
// Les simple-guillements ne sont pas valides
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null
// le nom doit être entourré de double-guillemets
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null
// la virgule de fin n'est pas autorisée
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null
?>
Note: La spécification JSON ne fait pas partie de Javascript mais d'un sous-projet de Javascript.
Cette fonction retournera FALSE si les données encodées JSON sont plus profondes que 127 éléments.
Version | Description |
---|---|
5.3.0 | Ajout du paramètre optionnel depth |
5.2.3 | La limite a été élevée de 20 à 128 |