Maison > interface Web > js tutoriel > Comment accéder aux propriétés d'objet JSON contenant des tirets ?

Comment accéder aux propriétés d'objet JSON contenant des tirets ?

Susan Sarandon
Libérer: 2024-11-26 19:29:13
original
734 Les gens l'ont consulté

How Do I Access JSON Object Properties Containing Dashes?

Accès aux propriétés d'un objet JSON avec des caractères tiret

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
}
Copier après la connexion

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."

Pourquoi la notation par points échoue

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).

Solution : Utiliser la notation entre parenthèses

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"]
Copier après la connexion

Exemple

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
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