From 39f2114f9797eb51994966c6bb8ff1814c9a4da8 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 12:36:08 +0100 Subject: unslug fr: move --- .../reference/global_objects/json/index.html | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 files/fr/conflicting/web/javascript/reference/global_objects/json/index.html (limited to 'files/fr/conflicting/web/javascript/reference/global_objects/json') diff --git a/files/fr/conflicting/web/javascript/reference/global_objects/json/index.html b/files/fr/conflicting/web/javascript/reference/global_objects/json/index.html new file mode 100644 index 0000000000..a70dfee208 --- /dev/null +++ b/files/fr/conflicting/web/javascript/reference/global_objects/json/index.html @@ -0,0 +1,100 @@ +--- +title: Utiliser le JSON natif +slug: Web/JavaScript/Guide/Utiliser_le_JSON_natif +tags: + - Add-ons + - Advanced + - ECMAScript5 + - Extensions + - JSON + - JavaScript +translation_of: Web/JavaScript/Reference/Global_Objects/JSON +translation_of_original: Web/JavaScript/Guide/Using_native_JSON +--- +

{{jsSidebar("JavaScript Guide")}}

+ +

Cet article aborde l'objet JSON natif conforme à ECMAScript 5 qui a été ajouté à Gecko 1.9.1. Pour consulter les informations de base sur l'utilisation de JSON dans les versions précédentes de Firefox, consulter la page JSON.

+ +

L'objet natif JSON possède deux méthodes clés. La méthode JSON.parse() qui analyse une chaîne de caractères JSON et qui reconstruit l'objet JavaScript original. La méthode JSON.stringify(), quant à elle, accepte un objet JavaScript et renvoie son équivalent JSON.

+ +
Note : JSON ne supporte pas les structures cycliques. Toute tentative de conversion d'une telle structure renverra une exception TypeError.
+ +

Analyser (parser) les chaînes JSON

+ +

Afin de convertir une chaîne JSON en un objet JavaScript, il suffit de passer une chaîne JSON à la méthode JSON.parse() :

+ +
var objetJS = JSON.parse(chaineJSON);
+ +
+

À partir de JavaScript 1.8.5 (Firefox 4), JSON.parse() n'accepte pas les virgules en fin de chaîne

+
+ +
// ces deux instructions renverront une exception SyntaxError
+// à partir de JavaScript 1.8.5
+var objetJS = JSON.parse("[1, 2, 3, 4, ]");
+var objetJS = JSON.parse("{ \"toto\" : 1, }");
+
+ +

Convertir les objets en JSON

+ +

Afin de convertir un objet JavaScript en une chaîne JSON, il suffit de passer l'objet à la méthode JSON.stringify() :

+ +
var toto = {};
+toto.truc = "nouvelle propriété";
+toto.machin = 3;
+
+var chaineJSON = JSON.stringify(toto);
+
+ +

chaineJSON contient désormais '{"truc":"nouvelle propriété","machin":3}'.

+ +

Depuis Firefox 3.5.4, JSON.stringify() permet d'adapter la conversion grâce à des paramètres optionnels. La syntaxe est la suivante :

+ +

chaineJSON = JSON.stringify(valeur [, remplacement [, espace]])remplacement

+ +
+
valeur
+
L'objet JavaScript à convertir en une chaîne JSON.
+
remplacement
+
Une fonction qui modifie le comportement de la conversion ou bien un tableau d'objets String et Number qui sera utilisé comme une liste de propriétés de l'objet valeur à inclure dans la chaîne JSON. Si cette valeur est nulle ou n'est pas fournie, toutes les propriétés de l'objet seront inclues dans la chaîne résultante.
+
espace
+
Un objet String ou Number utilisé pour insérer des espaces dans la chaîne JSON afin qu'elle soit plus lisible. Si c'est un objet Number, il indique le nombre d'espaces à insérer. Ce nombre est limité à 10. Les valeurs inférieures à 1 indiquent qu'aucun espace ne sera utilisé, les valeurs supérieures à 10 seront ramenées à 10. Si cet objet est une String, la chaîne de caractères (ou les 10 premiers caractères si la chaîne est plus longue) à utiliser comme blanc. Si ce paramètre n'est pas fourni (ou vaut null), aucun blanc ne sera utilisé.
+
+ +

Le paramètre de remplacement

+ +

La paramètre remplacement peut être une fonction ou un tableau. Si c'est une fonction, elle prendra deux paramètres : la clé et la valeur à être convertie en chaîne de caractères. L'objet pour lequel la clé a été trouvée sera fourni comme paramètre this de la fonction de remplacement. Initialement elle est appelée avec une clé vide représentant l'objet à transformer en chaîne et est ensuite appelé pour chacune des propriétés de l'objet ou du tableau à convertir. Elle doit renvoyer la valeur à ajouter à la chaîne de caractère JSON comme suit :

+ + + +
Note : Il est impossible d'utiliser la fonction de remplacement pour retirer des valeurs d'un tableau. Si la valeur undefined ou une fonction est renvoyée  : null sera renvoyé.
+ +

Exemple

+ +
function censure(key, value) {
+  if (typeof value === "string") {
+    return undefined;
+  }
+  return value;
+}
+
+var toto = {fondation: "Mozilla", modèle: "box", semaine: 45, transport: "voiture", mois: 7};
+var chaineJSON = JSON.stringify(toto, censure);
+
+ +

La chaîne JSON produite sera {"semaine":45,"mois":7}.

+ +

Si remplacement est un tableau, les valeurs du tableau indiquent les noms des propriétés de l'objet à inclure dans la chaîne JSON.

+ +

Voir aussi

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