From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/objets_globaux/json/index.html | 153 +++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 files/fr/web/javascript/reference/objets_globaux/json/index.html (limited to 'files/fr/web/javascript/reference/objets_globaux/json/index.html') diff --git a/files/fr/web/javascript/reference/objets_globaux/json/index.html b/files/fr/web/javascript/reference/objets_globaux/json/index.html new file mode 100644 index 0000000000..ecc67a2d86 --- /dev/null +++ b/files/fr/web/javascript/reference/objets_globaux/json/index.html @@ -0,0 +1,153 @@ +--- +title: JSON +slug: Web/JavaScript/Reference/Objets_globaux/JSON +tags: + - JSON + - JavaScript + - Object + - Reference + - polyfill +translation_of: Web/JavaScript/Reference/Global_Objects/JSON +--- +
{{JSRef}}
+ +

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.

+ +

Différences entres JavaScript et JSON

+ +

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.

+ + + +

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

Syntaxe complète

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

+ +

Méthodes

+ +
+
{{jsxref("JSON.parse()", "JSON.parse(texte[, revivificateur])")}}
+
Analysez le 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.
+
{{jsxref("JSON.stringify()", "JSON.stringify(valeur[, remplacement[, expace]])")}}
+
Retourne une chaîne JSON correspondant à la valeur spécifiée, en incluant éventuellement seulement certaines propriétés ou en remplaçant les valeurs des propriétés d'une manière définie par l'utilisateur. Par défaut, toutes les instances de {{jsxref("undefined")}} sont remplacées par {{jsxref("null")}}, et les autres types de données natives non prises en charge sont censurés. L'option de remplacement permet de spécifier un autre comportement.
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{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')}}
+ +

Compatibilité des navigateurs

+ +
+ + +

{{Compat("javascript.builtins.JSON")}}

+
+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf