210 votes

Quels caractères sont valides/invalides dans un nom de clé JSON ?

Y a-t-il des caractères interdits dans les noms de clé, pour les objets JavaScript ou les chaînes JSON ? Ou des caractères qui doivent être échappés ?

Pour être plus précis, j'aimerais utiliser "$", "-" et un espace dans les noms de clé.

219voto

Marcelo Cantos Points 91211

Non. Toute chaîne valide est une clé valide. Il peut même avoir " tant que vous y échappez :

 {"The \"meaning\" of life":42}

Il est possible que vous rencontriez des difficultés à charger de telles valeurs dans certains langages, qui tentent d'associer des clés aux noms de champs d'objets. Par contre, je ne connais pas de tels cas.

69voto

Arun Rana Points 3120

Les caractères suivants doivent être échappés dans les données JSON pour éviter tout problème :

  • " (guillemets doubles)
  • \ (barre oblique inverse)
  • tous les caractères de contrôle comme \n , \t

JSON Parser peut vous aider à gérer JSON.

23voto

karns Points 1933

Il convient de mentionner que même si le démarrage des touches avec des chiffres est valide, cela peut entraîner des problèmes involontaires.

Exemple:

 var testObject = {
    "1tile": "test value"
};
console.log(testObject.1tile); // fails, invalid syntax
console.log(testObject["1tile"]; // workaround

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