--- title: JSON slug: Web/JavaScript/Reference/Objets_globaux/JSON tags: - JSON - JavaScript - Object - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/JSON ---
L’objet JSON
contient des méthodes pour interpréter du JSON (JavaScript Object Notation) (voir également la page du glossaire {{glossary("JSON")}}) et convertir des valeurs en JSON. Il ne peut être appelé ou construit, et, en dehors de ses deux méthodes, n’a pas de fonctionnalité propre.
JSON est une syntaxe pour sérialiser des objets, tableaux, nombres, chaînes de caractères, booléens et valeurs null. Elle est basée sur la syntaxe de JavaScript mais en est distincte : du code JavaScript n’est pas nécessairement du JSON, et du JSON n’est pas nécessairement du JavaScript.
JSON.stringify()
ignorera les zéros mais JSON.parse()
déclenchera une exception SyntaxError
).Dans l'exemple suivant, on utilise {{jsxref("JSON.parse()")}} afin d'analyser la chaîne JSON et eval
afin d'exécuter le code correspondant :
var code = '"\u2028\u2029"'; JSON.parse(code); // vaut "\u2028\u2029" pour tous les moteurs eval(code); // provoque une SyntaxError pour les anciens moteurs
JSON = null ou true ou false ou NombreJSON ou ChaîneJSON ou ObjetJSON ou TableauJSON NombreJSON = - NombrePositif ou NombrePositif NombrePositif = NombreDécimal ou NombreDécimal . Chiffres ou NombreDécimal . Chiffres PartiExposant ou NombreDécimal PartiExposant NombreDécimal = 0 ou UnÀNeuf Chiffres PartiExposant = e Exposant ou E Exposant Exposant = Chiffres ou + Chiffres ou - Chiffres Chiffres = Chiffre ou Chiffres Chiffre Chiffre = 0 à 9 UnÀNeuf = 1 à 9 ChaîneJSON = "" ou " ChaîneCaractères " ChaîneCaractères = ChaîneCaractère ou ChaîneCaractères ChaîneCaractère ChaîneCaractère = un caractère sauf " ou \ ou U+0000 à U+001F ou SéquenceÉchappement SéquenceÉchappement = \" ou \/ ou \\ ou \b ou \f ou \n ou \r ou \t ou \u ChifreHexadécimal ChifreHexadécimal ChifreHexadécimal ChifreHexadécimal ChifreHexadécimal = 0 à 9 ou A à F ou a à f ObjetJSON = { } ou { Membres } Membres = ChaîneJSON : JSON ou Membres , ChaîneJSON : JSON TableauJSON = [ ] ou [ ÉlémentsTableau ] ÉlémentsTableau = JSON ou ÉlémentsTableau , JSON
Des espaces blancs insignifiants peuvent être présents n’importe où sauf dans un JSONNumber
(les nombres ne doivent pas contenir d’espaces blancs) ou dans un JSONString
(where it is interpreted as the corresponding character in the string, or would cause an error). Les caractères tabulation (U+0009), retour chariot (U+000D), saut de ligne (U+000A), and espace (U+0020) sont les seuls caractères blancs valides.
texte
de la chaîne comme JSON, transformez éventuellement la valeur produite et ses propriétés, et renvoyez la valeur. Toute violation de la syntaxe JSON, y compris celles concernant les différences entre JavaScript et JSON, entraîne l'envoi d'un {{jsxref("SyntaxError")}}. L'option "revivificateur
" permet d'interpréter ce que le remplacement
a utilisé pour remplacer d'autres types de données.remplacement
permet de spécifier un autre comportement.Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES5.1', '#sec-15.12', 'JSON')}} | {{Spec2('ES5.1')}} | Définition initiale. |
{{SpecName('ES6', '#sec-json-object', 'JSON')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-json-object', 'JSON')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.JSON")}}