Maison >développement back-end >tutoriel php >Comment accéder aux données de JSON en utilisant PHP ?
PHP fournit la fonction json_decode() pour décoder une chaîne JSON et la convertir en une structure de données PHP. Voyons comment accéder aux résultats :
Accès aux propriétés de l'objet :
Les propriétés de l'objet sont accessibles via $object->property Par exemple :
$json = '{"type": "donut", "name": "Cake"}'; $yummy = json_decode($json); echo $yummy->type; // "donut"
Accès aux éléments du tableau :
Les éléments du tableau sont accessibles via $array[0] Par exemple :
$json = '["Glazed", "Chocolate with Sprinkles", "Maple"]'; $toppings = json_decode($json); echo $toppings[1]; // "Chocolate with Sprinkles"
Accès aux éléments imbriqués :
Les éléments imbriqués sont accessibles via des attributs et des index consécutifs, tels que $object-> ->etc. :
$json = '{"type": "donut", "name": "Cake", "toppings": [{"id": "5002", "type": "Glazed"}]}'; $yummy = json_decode($json); echo $yummy->toppings[0]->id; // "5002"
Convertir en tableau associatif :
Passez true comme deuxième paramètre de json_decode() pour convertir JSON L'objet est décodé en un tableau associatif dont les clés sont des chaînes :
$json = '{"type": "donut", "name": "Cake"}'; $yummy = json_decode($json, true); echo $yummy['type']; // "donut"
L'accès aux éléments du tableau associatif :
peut être effectué via foreach (array_expression as $key => valeur $) Traverser les clés et les valeurs :
$json = '{"foo": "foo value", "bar": "bar value", "baz": "baz value"}'; $assoc = json_decode($json, true); foreach ($assoc as $key => $value) { echo "The value of key '$key' is '$value'" . PHP_EOL; }
Sortie :
The value of key 'foo' is 'foo value' The value of key 'bar' is 'bar value' The value of key 'baz' is 'baz value'
Structure de données inconnue :
Si vous ne connaissez pas la structure des données , veuillez vous référer à la documentation associée ou utiliser print_r() Vérifiez le résultat :
print_r(json_decode($json));
json_decode() renvoie null :
Cela se produit lorsque le JSON est nul ou invalide. Utilisez json_last_error_msg() pour vérifier les messages d'erreur.
Noms d'attributs de caractères spéciaux :
Utilisez {"@attributes":{"answer":42}} pour accéder aux noms d'attributs avec des caractères spéciaux :
$json = '{"@attributes":{"answer":42}}'; $thing = json_decode($json); echo $thing->{'@attributes'}->answer; //42
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!