Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Jusqu'où ira l'essor de JSON ?
Le nouveau format d'échange de données est-il en train de s'imposer face au XML ?

Le , par Hinault Romaric

0PARTAGES

8  0 
Le XML (eXtensible Markup Language) avait été largement adopté en tant que format d'échange de données entre différents systèmes, plates-formes et organisations.

Depuis la sortie de JSON (JavaScript Object Notation), ce format d'échange plus simple est devenu populaire à tel point que les débats JSON vs XML se multiplient depuis quelques semaines.

Comme dans ce billet de blog de Karsten Januszewski, célèbre développeur ingénieur de Microsoft, qui ne se demande pas si, mais quand JSON l'emportera sur le XML.

Karsten Januszewski constate, à l'occasion d'une rétrospective sur les différents choix pris dans le cadre du développement d'un service de prototypage, que JSON a eu une ascension rapide, au vu par exemple de l'augmentation du pourcentage d'API et de services prenant en charge JSON par rapport au XML.

Pour lui, cette popularité de JSON est dûe à la légèreté et à la simplicité du format par rapport au format XML, mais surtout à la nature non typée des flux JSON qui sont parfaitement adaptés au JavaScript.

La nature non typée des flux JSON cadrerait avec la façon dont le Web lui-même fonctionne. Le Web n'aime pas les schémas, il n'aime pas que les choses soient rigides ou trop structurées estime Karsten Januszewski.

Néanmoins, il ne rejette pas le format XML. Au contraire, il trouve que le format fonctionne parfaitement avec les langages à typages forts ou pour la représentation des objets graphiques. Pour illustrer ses propos, Karsten Januszewski s'appuie par exemple sur les couples Java/XML dans Android et .NET/XAML dans Windows Phone pour la représentation des interfaces utilisateurs.

Mais la récente prise en charge de JSON dans le Framework .NET 4.0, qui vient résoudre le problème de sérialisation sur les serveurs - véritable casse-tête des développeurs - montre clairement pour Karsten Januszewski que JSON est en plein essor.

Source : « L'essor de JSON », billet de Karsten Januszewski

Et vous ?

Que pensez-vous de cet opinion Karsten Januszewski sur la simplicité de JSON ?

Comparer JSON et XML a-t-il un sens ? Les deux formats vous paraissent-ils complémentaires ou l'un s'imposera-t-il face à l'autre ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Grimly_old
Membre averti https://www.developpez.com
Le 31/05/2011 à 16:33
Le XML et le JSON ne répondent pas tout à fait au même besoin à mon avis.

Le JSON est de la pure information sans aucune garantie sur le contenu ou le format. Il est le format idéal pour la communication entre deux outils issus d'un même projet/groupe.
Le XML porte avec l'information un contrat qu'il respecte que ce soit un DTD, un XML Schema ou autre. C'est le seul format des deux qui a une forte composante de méta-donnée. Il est le format idéal d'un service public (SOAP par exemple se base dessus)
5  0 
Avatar de authchir
Membre du Club https://www.developpez.com
Le 31/05/2011 à 23:13
<point><abscice>10.123</abscice><ordonnee>1.123</ordonnee></point> x10000
mais ton point peut être écrit en xml plus simplement :
Code : Sélectionner tout
<point absice="10.123" ordonnee="1.123" />
Ce qui nous donne, dans un gros fichier:
Code : Sélectionner tout
1
2
3
4
5
6
7
<point absice="1" ordonnee="11" />
<point absice="2" ordonnee="22" />
<point absice="3" ordonnee="33" />
<point absice="4" ordonnee="44" />
<point absice="5" ordonnee="55" />
...
<point absice="999" ordonnee="9999" />
ce qui, à mon avis, est très lisible tout en n'étant pas si lourd.
2  0 
Avatar de zeyr2mejetrem
Membre chevronné https://www.developpez.com
Le 01/06/2011 à 16:23
Citation Envoyé par robynico Voir le message
Si tous les web-services Soap étaient migrés vers du Restful - Json, l'on pourrait fermer une centrale nucléaire rien qu'en France !
Si tous les nains de jardin du monde se donnaient la main, les brouettes tomberaient sur le côté.

Sérieusement, je pense qu'aucun des formats n'est mauvais en soi. L'implémentation qui en est faite dans un contexte donné peut l'être.
2  0 
Avatar de salve34
Membre régulier https://www.developpez.com
Le 31/05/2011 à 16:28
Comparer JSON et XML a-t-il un sens ?
Bien-sûr. Cela permet le débat et donc l'amélioration des technologies.

Les deux formats vous paraissent-ils complémentaires ou l'un s'imposera-t-il face à l'autre ?
Pour moi ils sont complémentaires.
-xml a comme défaut qu'il est trop verbeux mais c'est aussi sont gros avantage
-json est moins verbeux donc plus synthétique et donc plus rapide mais il est aussi beaucoup plus laxiste
donc cela permet de laisser le choix (si le webservice n'est pas développé par un tier bien-sûr )
1  0 
Avatar de barmic
Membre actif https://www.developpez.com
Le 31/05/2011 à 19:05
Personnellement j'utilise XML quotidiennement et quasiment pas JSON.

De ce que j'ai l'impression JSON s'utilise pour un nombre plus limité de cas qu'XML. XML on l'utilise pour des formats de fichier (OpenDocument, SVG, OOXML par exemple), des configurations de logiciels (maven, ant, etc), des configurations internes des applications (java et les descripteurs) et pour la sérialisation (et donc la communication réseau).

D'après ce que j'ai pu en voir JSON ne s'utilise que pour ce dernier cas et il me semble bien mieux conçu pour ce cas d'utilisation : plus léger en terme de poids, mais aussi de traitement et conçu pour être traité au fil de l'eau.

Dans les autres cas d'utilisations d'XML, JSON ne me semble pas être une alternative pertinente surtout car il n'y a pas de possibilité de validation et le manque de métadonnées le rend moins lisible pour un humain.
1  0 
Avatar de Pignoufy
Membre du Club https://www.developpez.com
Le 31/05/2011 à 19:39
Bonjour à tous,

Je ne connaissais pas JSON jusqu'à aujourd'hui (c'est bien les discussions ). Après un vite coup d'oeil sur Wikipédia, je trouve que la structure XML est humainement plus compréhensible qu'une structure JSON (notamment pour des "non développeurs".

Qu'en est-il des DTD ou XSD ? Y'a-t-il des équivalents en JSON ?
Si ce n'est pas le cas, voici un gros avantage du format XML...

Autre question, j'utilise XML dans mes applications (non Web, je précise) alors que JSON semble être très utilisé (seulement ?) pour ce genre d'appli... Je ne vois donc pas la plus-value de ce format dans ce cas...
1  0 
Avatar de zeyr2mejetrem
Membre chevronné https://www.developpez.com
Le 01/06/2011 à 9:27
Citation Envoyé par abriotde Voir le message

La lisibilité est meilleur en JSON qu'en XML lorsqu'il il y a peu de donnés ou des données simple à l'inverse lorsque la structure de donnée est très complexe et le fichier volumineux, on préférera lire du xml (on sait ce que ferme une balise (un "</humain>" est plus explicite qu'un "}"). Alors certes le xml se compresse mais on ralentit encore le traitement du fichier.
Un petit exemple avec de la cartographie:
XML
<point><abscice>10.123</abscice><ordonnee>1.123</ordonnee></point> x10000
=> long à parser, lourd, cela fini même par devenir difficile à lire (on arrive même plus à ouvrir le fichier)
JSON
[10.123, 1.123], x10000.
=> lisible, léger, rapide à parser

Pour faire maths : Les domaines d'applications d'XML et JSON sont des ensemble dont l'intersection n'est pas l'ensemble vide même s'il ne sont pas équivalent.
Je suis désolé de contredire mais l'équivalent JSON de ton XML serait
{"point":{"abscice":10.123,"ordonnee":1.123}} car sinon tu ne transporte pas l'info concernant l'ordre ou la hiérarchie de tes données.
Si ton ordre (entre abcisse et ordonnée) et ta hiérarchie sont implicites en XML tu peux écrire aussi
<p>10.123,1.123</p>, rien ne l'en empêche.

D'un ordre général XML est verbeux par rapport à JSON car il transporte les méta-données et JSON non.
Un objet complet bien écrit en JSON est presque aussi verbeux qu'en XML sauf qu'il ne contient pas de DTD.
1  0 
Avatar de berceker united
Expert confirmé https://www.developpez.com
Le 01/06/2011 à 10:25
Bonjour,

Comme pour Pignoufy, je découvre JSON ici. Par contre, cette article me fait rappeler à un précédent sujet concernant l'utilisation inadapté/abusif du XML. Pensez-vous que JSON permet justement de réajuster l'utilisation du XML ?
1  0 
Avatar de robynico
Futur Membre du Club https://www.developpez.com
Le 01/06/2011 à 15:29
Si tous les web-services Soap étaient migrés vers du Restful - Json, l'on pourrait fermer une centrale nucléaire rien qu'en France !
1  0 
Avatar de thelvin
Modérateur https://www.developpez.com
Le 02/06/2011 à 18:50
Citation Envoyé par marts Voir le message
A mon avis, rien de ce que permet le XML n'est impossible avec JSON.
Ce n'est pas une question d'avis, tu te trompes.

- JSON ne peut pas gérer d'organisation en flux, comme le HTML, le DocBook, et certains besoins d'Atom et RSS (qui ne sont jamais utilisés d'accord, mais c'est simplement parce qu'aucun informaticien influençant ces utilsiations ne se donne la peine de comprendre.)

- JSON n'est pas extensible, sauf à obliger le concepteur des formats de données à prévoir pour extension future, ce qui n'est pas impossible, juste rendu trop compliqué par le fait qu'il ne sert absolument pas à ça.

On pourrait aussi ajouter que JSON n'a pas de truc comme les entity references ni les character references ni les valeurs par défaut, mais bon, c'est pas des trucs que j'aime beaucoup personnellement.

Enfin, bien que ça ne soit pas infaisable sur le principe, par nature JSON est un très mauvais candidat pour des choses comme le XML Transform et le XML Process. Pas assez expressif, pas assez extensible, matchers et selectors trop naïfs.
On va me dire que ce n'est pas indispensable, mais les cas ne manquent pas où c'est mieux qu'autre chose. XML le peut, JSON ne le peut pas.

Citation Envoyé par sekaijin Voir le message
Heu le human readable de XML ....
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
<PID>
  <PID.1>1</PID.1>
  <PID.3>
     <CX.1>PATID1234</CX.1>
     <CX.2>5</CX.2>
     <CX.3>M11</CX.3>
     <CX.4><HD.1>ADT1</HD.1></CX.4>

     <CX.5>MR</CX.5>
     <CX.6><HD.1>MCM</HD.1></CX.6>
   </PID.3>
On n'a pas dit que XML a le pouvoir d'obliger à faire du lisible, les gens suffisamment déterminés à produire de l'illisible.

Simplement qu'il y encourage. (Encore que la mode d'avoir soixante namespaces différents dans un même document n'aille pas vraiment en ce sens, j'en conviens.)
1  0