Maison  >  Article  >  interface Web  >  Analyse comparative des avantages et inconvénients de JSON et XML_json

Analyse comparative des avantages et inconvénients de JSON et XML_json

WBOY
WBOYoriginal
2016-05-16 15:49:551214parcourir

1. Introduction à la définition

Définition XML 1.1

Extensible Markup Language (XML), un langage de balisage utilisé pour marquer les documents électroniques afin de les rendre structurels. Il peut être utilisé pour marquer des données et définir des types de données. . XML utilise la définition du type de document DTD (document type definition) pour organiser les données ; le format est unifié, multiplateforme et multilingue, et est depuis longtemps devenu une norme reconnue dans l'industrie.
XML est un sous-ensemble du langage SGML (Standard Generalized Markup Language) et convient parfaitement au transport Web. XML fournit une méthode unifiée pour décrire et échanger des données structurées indépendamment des applications ou des fournisseurs.

Définition JSON 1.2

JSON (JavaScript Object Notation) est un format d'échange de données léger, facile à lire et à écrire rapidement. L'échange de données entre différentes plateformes est possible. JSON adopte un format de texte hautement compatible et totalement indépendant du langage, et a également un comportement similaire aux habitudes du langage C (notamment C, C, C#, Java, JavaScript, Perl, Python, etc.). Ces propriétés font de JSON un langage d'échange de données idéal.
JSON est basé sur le langage de programmation JavaScript, un sous-ensemble de la norme ECMA-262 3e édition - décembre 1999.

2. Avantages et inconvénients de XML et JSON

2.1 Avantages et inconvénients du XML

Avantages du XML
A. Le format est unifié et conforme aux normes
; B. Il est facile d'interagir à distance avec d'autres systèmes et le partage de données est plus pratique.

Inconvénients du XML
Les fichiers A.XML sont énormes, le format de fichier est complexe et la transmission consomme de la bande passante
 ; B. Le serveur et le client doivent dépenser beaucoup de code pour analyser XML, ce qui rend le code du serveur et du client extrêmement complexe et difficile à maintenir
 ; C. La manière d'analyser XML entre les différents navigateurs côté client est incohérente et beaucoup de code doit être écrit à plusieurs reprises
 ; D. Le serveur et le client consacrent plus de ressources et de temps à analyser XML.

2.2 Avantages et inconvénients de JSON

Avantages de JSON :

A. Le format des données est relativement simple, facile à lire et à écrire, les formats sont compressés et prennent peu de bande passante
; B. Facile à analyser, JavaScript côté client peut simplement lire les données JSON via eval(); C. Prend en charge plusieurs langages, notamment ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby et d'autres langages côté serveur pour faciliter l'analyse côté serveur
; D. Dans le monde PHP, PHP-JSON et JSON-PHP sont déjà apparus. Il est préférable d'appeler directement le programme sérialisé PHP. Les objets, tableaux, etc. côté serveur PHP peuvent générer directement le format JSON pour faciliter l'accès et l'extraction client. ;
E. Étant donné que le format JSON peut être utilisé directement par le code côté serveur, il simplifie grandement le développement de code côté serveur et côté client, et la tâche reste inchangée et est facile à maintenir.

Inconvénients de JSON


R. Il n'est pas aussi populaire et largement utilisé que le format XML, et il n'est pas aussi polyvalent que XML

 ; B. La promotion du format JSON dans les Web Service en est encore à ses balbutiements.

3. Comparaison des avantages et des inconvénients de XML et JSON

En terme de lisibilité.


La lisibilité des données de JSON et XML est fondamentalement la même. La lisibilité de JSON et XML est presque la même. D'un côté se trouve la syntaxe recommandée et de l'autre la forme de balise standardisée est plus lisible.


En termes d'évolutivité.


XML est naturellement très évolutif, et JSON l'a certainement aussi. Il n'y a rien que XML puisse étendre que JSON ne puisse pas.


En termes de difficulté de codage.


XML dispose d'une multitude d'outils de codage, tels que Dom4j, JDom, etc., et JSON dispose également d'outils fournis par json.org. Cependant, le codage JSON est évidemment beaucoup plus simple que XML. Vous pouvez écrire du code JSON même sans l'utiliser. outils, mais vous devez écrire du bon XML n'est pas facile.


Difficulté de décodage.


L'analyse de XML doit prendre en compte les nœuds enfants et les nœuds parents, ce qui donne le vertige, alors que la difficulté d'analyser JSON est presque nulle. XML ne perd vraiment rien à ce stade.


Popularité.


XML a été largement utilisé dans l'industrie, alors que JSON ne fait que commencer. Cependant, dans le domaine spécifique d'Ajax, le développement futur doit être que XML cède la place à JSON. D'ici là, Ajax devrait devenir Ajaj (Javascript asynchrone et JSON).


En termes de méthodes analytiques.


JSON et XML disposent également de méthodes d'analyse riches.


En termes de volume de données.


Par rapport à XML, JSON a une taille de données plus petite et une vitesse de transmission plus rapide.


Interaction des données.


L'interaction entre JSON et JavaScript est plus pratique, plus facile à analyser et à traiter, et offre une meilleure interaction des données.


Description des données.


JSON est moins descriptif des données que XML.


Vitesse de transmission.


JSON est beaucoup plus rapide que XML.


4. Comparaison des formats de données XML et JSON

4.1 À propos des poids légers et lourds

Léger et lourd sont des termes relatifs, alors où est le poids lourd de XML par rapport à JSON ? Cela devrait être reflété dans l'analyse XML est actuellement conçu avec deux méthodes d'analyse : DOM et SAX.

DOM

DOM considère un format d'échange de données XML comme un objet DOM, et l'intégralité du fichier XML doit être lu dans la mémoire. Les principes de JSON et XML sont les mêmes à cet égard, mais XML doit prendre en compte les nœuds parents et les nœuds enfants. . JSON est beaucoup moins difficile à analyser car JSON est construit sur deux structures : clé/valeur, une collection de paires clé-valeur ; une collection ordonnée de valeurs, qui peut être comprise comme un tableau
;

SAX

SAX peut traiter le contenu analysé sans lire l'intégralité du document. Il s'agit d'une méthode d'analyse étape par étape. Le programme peut également terminer l'analyse à tout moment. De cette façon, un document volumineux peut être affiché progressivement et petit à petit, SAX convient donc à une analyse à grande échelle. Ce n'est actuellement pas possible avec JSON.
Par conséquent, la différence légère/lourde entre JSON et XML est :
JSON ne fournit qu'une solution d'analyse globale, et cette méthode ne peut obtenir de bons résultats qu'en analysant moins de données
 ; XML fournit une solution d'analyse étape par étape pour les données à grande échelle, très adaptée au traitement de grandes quantités de données.

4.2 Concernant la difficulté d'encodage et d'analyse du format de données

En termes de codage.

Bien que XML et JSON aient leurs propres outils d'encodage, l'encodage JSON est plus simple que XML. Vous pouvez écrire du code JSON même sans l'aide d'outils, mais il est un peu difficile d'écrire un bon code XML de la même manière que XML, JSON. est également basé sur du texte, et ils utilisent tous le codage Unicode, et il a les mêmes caractéristiques que le format d'échange de données XML

Lisibilité.

Subjectivement parlant, JSON est plus clair et moins redondant. Le site Web JSON fournit une description stricte, quoique brève, de la syntaxe JSON. De manière générale, XML est plus adapté au marquage des documents, tandis que JSON est plus adapté au traitement des échanges de données.

En termes d'analyse.

Dans le domaine des applications Web ordinaires, les développeurs ont souvent du mal à analyser XML. Qu'il s'agisse de générer ou de traiter du XML côté serveur, ou d'analyser du XML côté client à l'aide de JavaScript, cela entraîne souvent un code complexe et un développement extrêmement faible. efficacité.
En fait, pour la plupart des applications Web, elles n'ont pas du tout besoin de XML complexe pour transmettre des données. L'extensibilité revendiquée par XML présente ici rarement un avantage. De nombreuses applications Ajax renvoient même directement des fragments HTML pour créer des pages Web dynamiques. Comparé au renvoi de XML et à son analyse, le renvoi de fragments HTML réduit considérablement la complexité du système, mais il manque également d'un certain degré de flexibilité. Le format d'échange de données JSON offre une plus grande simplicité et flexibilité que les fragments XML ou HTML. Dans les applications de services Web, du moins pour l'instant, XML occupe toujours une position inébranlable.

Exemple de comparaison

XML et JSON utilisent des méthodes structurées pour marquer les données. Faisons une comparaison simple ci-dessous.
Les données de certaines provinces et villes de Chine sont représentées en XML comme suit :

<&#63;xml version="1.0" encoding="utf-8" &#63;>
<country>
 <name>中国</name>
 <province>
  <name>黑龙江</name>
  <citys>
   <city>哈尔滨</city>
   <city>大庆</city>
  </citys>   
 </province>
 <province>
  <name>广东</name>
  <citys>
   <city>广州</city>
   <city>深圳</city>
   <city>珠海</city>
  </citys>   
 </province>
 <province>
  <name>台湾</name>
  <citys>
    <city>台北</city>
    <city>高雄</city>
  </citys> 
 </province>
 <province>
  <name>新疆</name>
  <citys>
   <city>乌鲁木齐</city>
  </citys>
 </province>
</country>

Utilisez JSON pour représenter les données de certaines provinces et villes de Chine comme suit :

 var country =
    {
      name: "中国",
      provinces: [
      { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
      { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
      { name: "台湾", citys: { city: ["台北", "高雄"]} },
      { name: "新疆", citys: { city: ["乌鲁木齐"]} }
      ]
    }

En termes de lisibilité du codage, XML présente des avantages évidents. Après tout, le langage humain est plus proche d'une telle structure de description. JSON se lit davantage comme un bloc de données et est plus déroutant à lire. Cependant, la langue qui nous est difficile à lire est adaptée à la lecture automatique, donc la valeur « Heilongjiang » peut être lue via l'index JSON country.provinces[0].name.

En termes de difficulté d'écriture manuscrite du codage, XML est plus confortable. Il est facile à lire et bien sûr à écrire. Cependant, les caractères JSON écrits sont évidemment bien moindres. Si vous supprimez les tabulations vides et les sauts de ligne, JSON regorge de données utiles, tandis que XML contient de nombreux caractères de balisage répétés.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn