J'ai un objet json que j'imprime à l'écran (en utilisant alert () - function):
alert(object);
Voici le résultat:
Ensuite, je veux imprimer la valeur de l'id à l'écran:
alert(object["id"]);
Le résultat est le suivant:
Comme vous pouvez le constater, la valeur de la clé "id" n’est pas (!!!) indéfinie.
Qu'est ce qui se passe ici?!
On dirait que votre objet JSON n'est pas vraiment un objet, c'est une chaîne JSON. pour l'utiliser comme objet, vous devez utiliser une fonction de désérialisation telle que JSON.parse(obj)
. De nombreux frameworks ont leur propre implémentation pour désérialiser une chaîne JSON.
Quand vous essayez de faire alert(obj)
avec un objet réel, le résultat serait [object Object] ou quelque chose comme ça
Si object n'est pas JSON.parse()
, procédez comme suit:
var result = JSON.parse(object);
alert(result.id);
Si Object est déjà JSON.parse()
, utilisez uniquement:
alert(object.id);
En JavaScript, les propriétés des objets sont accessibles avec. opérateur ou avec indexation de tableau associatif utilisant []
. C'est à dire. object.property est équivalent à object["property"]
Tu peux essayer:
var obj = JSON.parse(Object);
alert(obj.id);
Vous devrez affecter cela à une var
, puis y accéder.
var object = {id: "someId"};
console.log(object);
alert(object["id"]);