Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens l'erreur « Impossible d'utiliser un objet de type stdClass comme tableau » lors du décodage de JSON ?

Pourquoi est-ce que j'obtiens l'erreur « Impossible d'utiliser un objet de type stdClass comme tableau » lors du décodage de JSON ?

Barbara Streisand
Libérer: 2024-12-17 11:42:25
original
516 Les gens l'ont consulté

Why am I Getting the

Comprendre l'erreur : "Impossible d'utiliser un objet de type stdClass comme tableau"

Lorsque vous essayez de décoder une chaîne JSON, vous pouvez rencontrer le erreur "Erreur fatale : impossible d'utiliser un objet de type stdClass comme tableau." Cette erreur se produit lorsque vous essayez de traiter la sortie de la fonction json_decode() comme un tableau au lieu d'un objet.

La solution : utiliser la fonction json_decode() avec un vrai deuxième argument

La fonction json_decode() fournit un deuxième argument facultatif qui vous permet de spécifier si vous souhaitez que la sortie soit renvoyée sous forme de tableau ou d'objet. Par défaut, json_decode() renvoie un objet.

Pour décoder la chaîne JSON en tableau, nous devons définir le deuxième argument sur true. Voici le code corrigé :

$result = json_decode($jsondata, true);
Copier après la connexion

Accès aux clés du tableau

Une fois la chaîne JSON décodée en tableau, vous pouvez accéder à ses éléments à l'aide des clés du tableau. Par exemple, si votre tableau contient une clé appelée « Résultat », vous pouvez y accéder comme ceci :

print_r($result['Result']);
Copier après la connexion

Méthodes alternatives

En plus d'utiliser json_decode () avec le vrai deuxième argument, il existe d'autres méthodes pour convertir un objet JSON en un array:

  • Using array_values(json_decode($jsondata, true)): Cette approche renvoie un tableau avec des clés entières au lieu de noms de propriétés.
  • Accéder à l'objet en tant qu'objet : Vous pouvez accéder directement aux propriétés de l'objet renvoyées par json_decode() comme suit :
print_r($obj->Result);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal