FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://fr.wikipedia.org/wiki/JavaScript_Object_Notation

JavaScript Object Notation — Wikipédia

Contents
Exemple
Commentaires
Usages

PUID
fmt/817

modifier - modifier le code - modifier WikidataJavaScript Object Notation (JSON) est un format de données textuel dérivé de la notation des objets du langage JavaScript. Il concurrence XML pour la représentation et la transmission d’information structurée.

Imaginé par Douglas Crockford, le format JSON a été introduit pour la première fois sur la page json.org en 2001. Cette démarche a conduit à sa standardisation ultérieure sous la norme ECMA-404 d'Ecma International, dont la première édition a été publiée en RFC 4627 et null, qui qualifie l'absence de valeur.

Chacun de ces types peut être utilisé pour constituer un document.

Exemple

modifiermodifier le code

Exemple de texte au format JSON :

menu: id:file value:File popup: menuitem: -value:New onclick:CreateNewDoc() -value:Open onclick:OpenDoc() -value:Close onclick:CloseDoc()

Commentaires

modifiermodifier le code

JSON est un format d'échange de données dont la syntaxe définie par la RFC n'admet pas les commentaires. Un analyseur syntaxique JSON strict détecte une erreur s'il rencontre un caractère ou une construction non prévu par la spécification.

Il existe des initiatives de formats étendant JSON pour ajouter des commentaires, comme Hjson, pour Human JSON en anglais, ou JSON5. Ces formats permettent de restituer du JSON standard, mais nécessitent un analyseur compatible avec leur syntaxe propre.

Durant la mise au point du format, Douglas Crockford constate que certains des premiers utilisateurs du JSON ajoutent des commentaires dans le but de donner des directives au parseur, à l'image des instructions #ifdef ou #define du préprocesseur C. Il y voit un danger pour l'interopérabilité, une priorité du format, et décide de les retirer. En 2012, il s'explique sur ce choix et reconnaît être conscient de la gêne que cette absence peut occasionner.

Usages

modifiermodifier le code

Bien qu’utilisant une notation issue de JavaScript, JSON est indépendant du langage de programmation. De nombreux langages de programmation disposent d'outils permettant de le lire ou de le produire. JSON sert à faire communiquer des applications dans un environnement hétérogène. Il est notamment utilisé comme format de transport de données avec AJAX et les services Web. D’autres solutions sont possibles, comme XML.

Le type de média MIME application/json est enregistré pour le transmettre notamment par le protocole HTTP.

Lorsqu'un texte JSON est échangé entre des systèmes qui ne font pas partie d'un même environnement fermé, la RFC 8259 considère l'utilisation d'eval() pour analyser du JSON comme un risque de sécurité et recommande l'emploi d'un analyseur dédié.

À partir de 2009, les navigateurs commencent à intégrer un support natif du format JSON. Cela facilite sa manipulation et évite d'avoir recours à eval(). Ainsi les navigateurs Firefox 3.5, IE 8 ou encore Opera 10.5 l’intègrent en natif.

Analyser en JavaScript une chaîne JSON peut alors se faire avec JSON.parse() :

(en) HJSON
    1. ↑ (en) « ECMA-404 — The JSON data interchange syntax », sur Ecma International (consulté le 29 septembre 2026)
    2. 1 2 (en) Tim Bray, « RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format », Request for comments n 8259, 13 décembre 2017
    3. ↑ (en) Request for comments n 4627
    4. ↑ (en) Request for comments n 7159
    5. 1 2 3 4 5 6 7 8 9 10 Stéphane Crozat, Julien Jerphanion, Harold Carrel-Billiard, Maxime Uzan et Cécile Fecherolle, « JavaScript Object Notation [Introduction aux bases de données NoSQL] », sur librecours.net via Internet Archive (consulté le 29 août 2026).
    6. 1 2 (en) « Hjson Syntax », sur Hjson (consulté le 29 septembre 2026)
    7. 1 2 3 (en) « Can I use... JSON parsing », sur caniuse.com (consulté le 5 février 2020).
    8. ↑ (en) Andy Brudtkuhl, « What is JSONL? An Introduction to JSON Lines Format », sur jsonltools.com (consulté le 18 mars 2026)
    9. ↑ (en) « JSONPP », 11 juin 2008.
    10. ↑ (en) W3C, « The JSON-LD Vocabulary », sur w3.org, 3 janvier 2020.
    11. ↑ icône décorative Portail de la programmation informatique

  • View original on Wikipedia | Back | FazBrowse Home