PHP et JSON
Qu'est-ce que JSON ?
JSON signifie JavaScript Object Notation et est une syntaxe pour stocker et échanger des données.
Étant donné que le format JSON est un format basé sur du texte, il peut facilement être envoyé vers et depuis un serveur et utilisé comme format de données par n'importe quel langage de programmation.
PHP et JSON
PHP a des fonctions intégrées pour gérer JSON.
Dans un premier temps, nous verrons les deux fonctions suivantes :
- json_encode()
- json_decode()
PHP - json_encode()
La fonction json_encode() est utilisée pour encoder une valeur au format JSON.
Exemple
Cet exemple montre comment encoder un tableau associatif dans un objet JSON :
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Exemple
Cet exemple montre comment encoder un tableau indexé dans un tableau JSON :
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
PHP - json_decode()
La fonction json_decode() est utilisée pour décoder un objet JSON en un objet PHP ou un tableau associatif.
Exemple
Cet exemple décode les données JSON dans un objet PHP :
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
La fonction json_decode() renvoie un objet par défaut. La fonction json_decode() a un deuxième paramètre, et lorsqu'elle est définie sur true, les objets JSON sont décodés dans des tableaux associatifs.
Exemple
Cet exemple décode les données JSON dans un tableau associatif PHP :
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
PHP - Accéder aux valeurs décodées
Voici deux exemples d'accès aux valeurs décodées depuis un objet et depuis un tableau associatif :
Exemple
Cet exemple montre comment accéder aux valeurs d'un objet PHP :
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Exemple
Cet exemple montre comment accéder aux valeurs d'un tableau associatif PHP :
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
PHP - Boucle à travers les valeurs
Vous pouvez également parcourir les valeurs avec une boucle foreach() :
Exemple
Cet exemple montre comment parcourir les valeurs d'un objet PHP :
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Exemple
Cet exemple montre comment parcourir les valeurs d'un tableau associatif PHP :
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>