Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence JavaScript
  4. Objets natifs standards
  5. JSON

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

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'objetJSON contient des méthodes pour interpréter duJSON (JavaScript Object Notation) (voir également la page du glossaireJSON) 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 valeursnull. 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 ; lestrailing 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).
  • Pour le texte :tout texte JSON est une expression JavaScript (pour les moteurs qui implémententcette proposition).

    • Pour les autres moteurs, seul un jeu limité de caractères peut être échappé ; certains caractères de contrôle sont interdits ; le séparateur de ligne Unicode (U+2028) et le séparateur de paragraphe (U+2029) sont autorisés en JSON mais pas en JavaScript dans les littéraux de chaînes de caractères.

Dans l'exemple suivant, on utiliseJSON.parse() afin d'analyser la chaîne JSON eteval afin d'exécuter le code correspondant :

js
var code = '"\u2028\u2029"';JSON.parse(code); // vaut "\u2028\u2029" pour tous les moteurseval(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 TableauJSONNombreJSON = - NombrePositif          ou NombrePositifNombrePositif = NombreDécimal              ou NombreDécimal . Chiffres              ou NombreDécimal . Chiffres PartiExposant              ou NombreDécimal PartiExposantNombreDécimal = 0              ou UnÀNeuf ChiffresPartiExposant = e Exposant            ou E ExposantExposant = Chiffres        ou + Chiffres        ou - ChiffresChiffres = Chiffre      ou Chiffres ChiffreChiffre = 0 à 9UnÀNeuf = 1 à 9ChaîneJSON = ""          ou " ChaîneCaractères "ChaîneCaractères = ChaîneCaractère                ou ChaîneCaractères ChaîneCaractèreChaîneCaractère = un caractère                  sauf " ou \ ou U+0000 à U+001F                ou SéquenceÉchappementSéquenceÉchappement = \" ou \/ ou \\ ou \b ou \f ou \n ou \r ou \t              ou \u ChifreHexadécimal ChifreHexadécimal ChifreHexadécimal ChifreHexadécimalChifreHexadécimal = 0 à 9        ou A à F        ou a à fObjetJSON = { }          ou { Membres }Membres = ChaîneJSON : JSON        ou Membres , ChaîneJSON : JSONTableauJSON = [ ]          ou [ ÉlémentsTableau ]ÉlémentsTableau = JSON              ou ÉlémentsTableau , JSON

Des espaces blancs insignifiants peuvent être présents n'importe où sauf dans unJSONNumber (les nombres ne doivent pas contenir d'espaces blancs) ou dans unJSONString (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 letexte 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'unSyntaxError. L'option "revivificateur" permet d'interpréter ce que leremplacement a 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 deundefined sont remplacées parnull, et les autres types de données natives non prises en charge sont censurés. L'option deremplacement permet de spécifier un autre comportement.

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-json-object

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp