J'ai un problème avec l'accès à une certaine propriété (hlink) dans le code JSON. Cela est dû au fait que la structure de la sortie JSON n'est pas toujours la même, et par conséquent, j'obtiens l'erreur suivante: "Impossible d'utiliser l'objet de type stdClass comme tableau dans ...". Quelqu'un peut-il m'aider à résoudre ce problème?analyse des données JSON avec différentes structures
JSON sortie 1 (Array)
Array (
[0] => stdClass Object (
[hlink] => http://www.rock-zottegem.be/
[main] => true
[mediatype] => webresource)
[1] => stdClass Object (
[copyright] => Rock Zottegem
[creationdate] => 20/03/2013 14:35:57
[filename] => b014933c-fdfd-4d93-939b-ac7adf3a20a3.jpg
[filetype] => jpeg
[hlink] => http://media.uitdatabank.be/20130320/b014933c-fdfd-4d93-939b-ac7adf3a20a3.jpg
)
JSON 2
stdClass Object (
[copyright] => Beschrijving niet beschikbaar
[creationdate] => 24/04/2013 19:22:47
[filename] => Cinematek_F14281_1.jpg
[filetype] => jpeg
[hlink] => http://media.uitdatabank.be/20130424/Cinematek_F14281_1.jpg
[main] => true
[mediatype] => photo
)
Et voici mon code:
try {
if (!empty($img[1]->hlink)){
echo "<img src=" . $img[1]->hlink . "?maxheight=300></img>";
}
}
catch (Exception $e){
$e->getMessage();
}
Fondamentalement, vous devez obtenir le JSON et d'examiner analysable, pour voir ce que vous avez. (Cela aiderait si nous avions une idée de la langue que vous utilisez.Je devine JavaScript, mais je ne suis pas sûr.) –
Il est assez fréquent de voir des cas où l'autre extrémité envoie un seul "objet" si il n'y en a qu'un, mais un tableau d'objets s'il y en a plusieurs. Une astuce que j'ai utilisée dans ce cas est d'examiner le premier caractère de la source JSON non analysée, et, si c'est '{', slap '[]' autour de la chaîne pour le transformer en un tableau à un seul élément. Ensuite, le JSON analysé peut être traité de manière identique, indépendamment. –
N'utilisez-vous pas str = JSON.stringify (obj) et JSON.parse (str)? Quel genre de méta syntaxe est ce qui précède? Ce n'est pas JSON. Pourquoi ne présentez-vous pas un exemple JSON minimal valide pour commencer? – stackunderflow