Ce problème survient lors de la tentative de récupération d'une valeur à partir d'un objet JSON dont la clé de propriété contient un caractère tiret (-). Par exemple, considérons le JSON suivant :
{ "profile-id":1234, "user_id":6789 }
Si nous essayons d'accéder à la propriété "profile-id" en utilisant la notation par points (c'est-à-dire jsonObj.profile-id), nous rencontrons l'erreur "ReferenceError: ' id' n'est pas défini."
En JavaScript, les clés de propriété dans les objets ne peuvent contenir que certaines caractères, y compris les lettres, les chiffres et les traits de soulignement. Dash ne fait pas partie de ces personnages autorisés. La notation par points convertit automatiquement une clé de propriété avec un tiret en une expression de soustraction (c'est-à-dire jsonObj.profile - id).
Pour surmonter cette limitation, nous pouvons utiliser les parenthèses notation pour accéder aux propriétés de l'objet. La notation entre crochets nous permet de spécifier la clé de propriété sous forme de chaîne. Pour accéder à la propriété "profile-id", nous pouvons utiliser la syntaxe suivante :
jsonObj["profile-id"]
Voici un exemple montrant comment utiliser la notation entre crochets pour accéder à une propriété avec un tiret :
const jsonObj = { "profile-id": 1234, "user_id": 6789, }; console.log(jsonObj["profile-id"]); // Output: 1234
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!