JSON.stringify()
JSON est souvent utilisé pour échanger des données avec le serveur.
Lorsqu'on envoie des données au serveur, il s'agit généralement d'une chaîne.
Nous pouvons utiliser la méthode JSON.stringify() pour convertir un objet JavaScript en une chaîne.
Syntaxe
JSON.stringify(value[, replacer[, space]])
Description du paramètre :
- value:
Obligatoire. La valeur JavaScript à convertir (généralement un objet ou un tableau).
- replacer:
Facultatif. Une fonction ou un tableau utilisé pour transformer le résultat.
Si replacer est une fonction, JSON.stringify appellera cette fonction en lui passant la clé et la valeur de chaque membre. La valeur de retour est utilisée à la place de la valeur d'origine. Si cette fonction retourne undefined, le membre est exclu. La clé de l'objet racine est une chaîne vide : "".
Si replacer est un tableau, seuls les membres dont les clés sont présentes dans le tableau sont convertis. L'ordre de conversion des membres est le même que l'ordre des clés dans le tableau. Lorsque le paramètre value est également un tableau, le tableau replacer est ignoré.
- space:
Facultatif. Ajoute une indentation, des espaces et des sauts de ligne au texte. Si space est un nombre, le texte de la valeur de retour est indenté du nombre d'espaces spécifié à chaque niveau. Si space est supérieur à 10, le texte est indenté de 10 espaces. space peut aussi être un non-nombre, comme \t.
Conversion d'objet JavaScript
Par exemple, nous envoyons les données suivantes au serveur :
Nous utilisons la méthode JSON.stringify() pour traiter les données ci-dessus et les convertir en chaîne :
myJSON est une chaîne.
Nous pouvons envoyer myJSON au serveur :
Exemple
Essayez-le vous-même »
Conversion de tableau JavaScript
Nous pouvons également convertir un tableau JavaScript en une chaîne JSON :
Exemple
myJSON est une chaîne.
Nous pouvons envoyer myJSON au serveur :
Exemple
Essayez-le vous-même »
Exceptions
Analyse des données
JSON ne peut pas stocker d'objets Date.
JSON.stringify() convertira toutes les dates en chaînes de caractères.
Exemple
Essayez-le vous-même »
Après cela, vous pouvez reconvertir la chaîne en un objet Date.
Fonctions d'analyse syntaxique
JSON n'autorise pas les fonctions. JSON.stringify() supprimera les fonctions des objets JavaScript, y compris la clé et la valeur.
Exemple
Essayez-le vous-même »
Nous pouvons éviter le problème ci-dessus en convertissant la fonction en chaîne avant d'exécuter la fonction JSON.stringify() :
Exemple
Essayez-le vous-même »
Il n'est pas recommandé d'utiliser des fonctions dans JSON.
Prise en charge des navigateurs
Les navigateurs grand public prennent tous en charge la fonction JSON.stringify() :
- Firefox 3.5
- Internet Explorer 8
- Chrome
- Opera 10
- Safari 4