258 votes

JSON Spec - est la clé doit être entouré de guillemets ?

Exemple : Le code suivant n’est pas valide contre le JSON Spec?

Ou dois-je toujours utiliser la syntaxe suivante ? (Et si oui, pourquoi ?)

Je n’ai pas vraiment trouvé quelque chose à ce sujet dans les spécifications JSON. Bien qu’ils utilisent des guillemets autour de leurs clés dans leurs exemples. (Donc je vais faire que trop pour l’instant)

160voto

cobbal Points 37900

Oui, vous avez besoin de guillemets. Il s’agit de le rendre plus simple et pour éviter d’avoir d’avoir une autre méthode escape pour javascript réservés Mots-clés, c’est à dire `` .

141voto

PatrikAkerstrand Points 23968

Vous avez raison d'utiliser les chaînes de caractères comme la clé. Voici un extrait de la RFC 4627 - L'application/json Type de support de JSON (JavaScript Object Notation)

2.2. Les objets

Une structure de l'objet est représenté par une paire d'accolades entourant zéro, une ou plusieurs paires nom/valeur (ou les membres). Un nom est une chaîne de caractères. Un seul colon vient après chaque nom, en séparant le nom à partir de la valeur. Une virgule sépare une valeur à partir d'une suite de nom. Les noms à l'intérieur d'un objet DOIT être unique.

object = begin-object [ member *( value-separator member ) ] end-object

member = string name-separator value

[...]

2.5. Les chaînes

La représentation des chaînes de caractères est similaire pour les conventions utilisées dans le C la famille des langages de programmation. Une chaîne de caractères commence et se termine avec les guillemets. [...]

string = quotation-mark *char quotation-mark

quotation-mark = %x22 ; "

Lire l'ensemble de la RFC ici

15voto

Cebjyre Points 3946

De 2.2. Objets

Une structure d’objet est représentée par une paire d’accolades autour de zéro ou plusieurs paires pour les nom/valeur (ou membres). Un nom est une chaîne.

et de 2.5. Chaînes

Une chaîne commence et se termine par des guillemets.

Donc je dirais que, conformément à la norme : Oui, veuillez mentionner toujours la clé (bien que certains analyseurs peuvent être plus indulgent)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X