json définition

JSON : tout savoir sur le format de données JavaScript Object Notation

Le JSON est un format de fichier dérivé du JavaScript, permettant de stocker les données de façon organisée et lisible par un humain. Découvre tout ce que vous devez savoir à ce sujet.

JSON est l'acronyme de JavaScript Object Notation. Il s'agit d'un format de fichier open-standard permettant de stocker les données de manière organisée et lisible par un humain tout en y facilitant l'accès. Les données sont présentées dans un format textuel constitué de paires  » key / value « .

Etroitement lié à JavaScript, ce format peut toutefois être généré et lu par la plupart des langages de programmation. Cette universalité lui a permis de devenir une façon très populaire de stocker, organiser, lire et partager des données dans les applications et services web.

De nombreux sites web utilisent JSON pour le partage de données en complément des flux RSS. Pour cause, les flux JSON peuvent être chargés de façon asynchrone plus facilement que les flux XML / RSS. On l'utilise donc beaucoup pour la communication asynchrone entre navigateur et serveur, notamment comme remplacement du XML dans certains systèmes de type AJAX.

L'histoire du JSON

douglas crockford json

A l'origine, JavaScript Object Notation est né d'une association entre le JavaScript et le scripting client-side. Il a été inventé par Douglas Crockford, qui continue à maintenir le site officiel JSON.org.

La première spécification officielle du  JSON est le standard ECMA-404 de 2013, mais le site web officiel fut lancé en 2002. De plus, Yahoo et ont commencé à l'utiliser dès 2005 / 2006.

Comment stocker les objets JSON ?

Concrètement, les objets JavaScript Object Notation ne sont que du texte. Il est donc possible de les stocker de multiples manières. On peut les stocker dans une base de données, dans un fichier texte séparé, dans un stockage client comme les cookies ou le localStorage, ou même en utilisant le format .json.

Une fois le contenu stocké, il peut être récupéré et déchiffré de différentes façons et dans différents langages. Avec le langage JavaScript, on peut utiliser les méthodes JSON.stringify() et JSON.parse().

JSON vs XML : quel est le meilleur format de données ?

json vs xml

Même si le XML est toujours très utilisé, le JSON a beaucoup gagné en popularité. Selon Douglas Crockford, ce format présente en effet plusieurs avantages par rapport au XML.

En particulier, le XML n'est pas optimisé pour l'échange de données. Pour cause, il ne correspond pas au modèle de données de la plupart des langages.

Quels sont les inconvénients du JSON ?

Malgré ses nombreux avantages, comme sa flexibilité et sa concision ce format de données présente plusieurs points faibles. Tout d'abord, l'absence de schéma qui permet une flexibilité en termes de représentation des données accroit aussi le risque de  » déformer  » les données.

De plus, le seul type de nombre compatible est le format IEEE-754 double-precision floating-point. Il n'est donc pas possible de profiter des autres types de nombres plus variés et nuancés que l'on retrouve dans de nombreux langages de programmation.

Il n'y a pas non plus de type de date. De fait, les développeurs doivent représenter les dates sous forme de chaînes de caractères. Ceci peut mener à des problèmes de divergences de format. La seule alternative est de représenter les dates sous formes de millisecondes écoulées depuis le 1er janvier 1970.

L'absence de commentaires empêche également d'annoter des champs. Il est nécessaire de recourir à une documentation additionnelle, ce qui augmente les risques d'erreurs de compréhension. Enfin, même si sa verbosité est moindre par rapport au XML, ce format d'échange de données n'est pas le plus concis.

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

1 commentaires

1 commentaire

  1. bonsoir je suis nouvelle ici

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *