JSON
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
L'objet JSON contient des méthodes pour interpréter du JSON (JavaScript Object Notation) (voir également la page du glossaire 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.
-
Pour les objets et les tableaux
- Les noms de propriété doivent être des chaînes de caractères délimitées par des guillements doubles ; les trailing commas sont interdits
-
Pour les nombres
- Les zéros non significatifs sont interdits ; un point décimal doit être suivi d'au moins un chiffre (plus exactement :
JSON.stringify()ignorera les zéros maisJSON.parse()déclenchera une exceptionSyntaxError).
- Les zéros non significatifs sont interdits ; un point décimal doit être suivi d'au moins un chiffre (plus exactement :
-
Pour le texte : tout texte JSON est une expression JavaScript (pour les moteurs qui implémentent cette proposition).
Dans l'exemple suivant, on utilise 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
JSON.parse(texte[, revivificateur])-
Analysez le
textede 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'unSyntaxError. L'option "revivificateur" permet d'interpréter ce que leremplacementa utilisé pour remplacer d'autres types de données. 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
undefinedsont remplacées parnull, et les autres types de données natives non prises en charge sont censurés. L'option deremplacementpermet de spécifier un autre comportement.
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-json-object> |
Compatibilité des navigateurs
Chargement…
Voir aussi
Date.prototype.toJSON()- Quelques outils permettant de manipuler des données en JSON
- JSON Compare qui permet de comparer deux JSON
- JSON Beautifier qui permet de visualiser et d'éditer un fichier JSON
- JSON Parser qui permet de formatter une chaîne JSON
- JSON Formatter qui permet de formatter et échapper une chaîne JSON
- JSON Validator qui permet de valider une chaîne JSON