JSON
Fonction json_encode() :
Voici une variable de tableau :
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
Et voici son type :
array(3) {
["Peter"]=>
int(35)
["Ben"]=>
int(37)
["Joe"]=>
int(43)
}
Cette varaible est alors encodée en json :
$jsonage = json_encode($age) ;
Et voici le type de cet encodage json :
string(30) "{"Peter":35,"Ben":37,"Joe":43}"
On remarque que le type n'est pas JSON mais plutôt un string
Fonction json_decode() :
On peut alors tenter de le décoder :
$decodjsonage = json_decode($jsonage);
Voici à quoi il ressemble :
stdClass Object
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
Voici comment on accède à un de ses élément :
echo $decodjsonage->Peter;
35
Et voici le type de l'objet décodé :
object(stdClass)#1 (3) {
["Peter"]=>
int(35)
["Ben"]=>
int(37)
["Joe"]=>
int(43)
}
On remarque que le type n'est plus un string ni même un array.. mais plutôt un objet..
En fait, on aurait pu récupérer un tableau associatif en ajoutant un 2ème argument à la fonction json_decode() :
$decodjsonage = json_decode($jsonage,true);
Voici à quoi il ressemble :
Array
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
Et voici son type :
array(3) {
["Peter"]=>
int(35)
["Ben"]=>
int(37)
["Joe"]=>
int(43)
}
Cette fois ci, on a bien récupéré un array associatif de la fonction json_decode()
On peut biensûr lire tout son contenu à l'aide de l'instruction foreach :
foreach($decodjsonage as $key => $value) {
echo $key . " est agé de : " . $value . " ans.";
}
Peter est agé de : 35 ans.
Ben est agé de : 37 ans.
Joe est agé de : 43 ans.
---------------------------------------------------------
Source : https://www.w3schools.com/php/php_json.asp
#?php