Maison  >  Article  >  interface Web  >  Explication détaillée de l'utilisation de JSON et XML

Explication détaillée de l'utilisation de JSON et XML

php中世界最好的语言
php中世界最好的语言original
2018-04-25 17:18:211245parcourir

Cette fois, je vais vous apporter une explication détaillée de l'utilisation de JSON et XML Quelles sont les précautions lors de l'utilisation de JSON et XML. Voici des cas pratiques, jetons un coup d'oeil.

1. Introduction à la définition

1.1 Définition XML

Extensible Markup Language (XML), utilisé Un langage de balisage qui marque des fichiers électroniques pour les rendre structurels, qui peuvent être utilisés pour marquer les données et définir des types de données. C'est un langage source qui permet aux utilisateurs de définir leur propre langage de balisage. XML utilise la définition de type de document DTD (document) 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 à la transmission sur le 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.

1.2 Définition JSON

JSON (JavaScript Object Notation) est un format d'échange de données léger, lisible et doté de fonctionnalités pratiques pour é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 de XML

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

Inconvénients de XML
A. Les fichiers 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 ; analyser XML, ce qui fait que le serveur et le client Le code secondaire devient extrêmement complexe et difficile à maintenir ;
C. La façon d'analyser XML entre les différents navigateurs du client est incohérente et beaucoup de code doit être écrit à plusieurs reprises ;
D. L'analyse du XML entre le serveur et les ressources et le temps du client coûte plus cher.

2.2 Avantages et inconvénients de JSON

Avantages de JSON :

A. Le format des données est relativement simple, facile à lire et à écrire, et les formats sont compressés. Occupe 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 facilitent l'analyse côté serveur
D. Dans le monde PHP, PHP-JSON et JSON-PHP sont déjà apparus, et c'est préféré ; pour appeler directement le programme après la sérialisation PHP, les objets PHP, les tableaux, etc. côté serveur peuvent générer directement le format JSON pour faciliter l'accès et l'extraction du client
E. Étant donné que le format JSON peut être directement utilisé par le code côté serveur, il simplifie considérablement la quantité de développement de code côté serveur et côté client, et complète la tâche reste inchangée et elle est facile à maintenir.

Inconvénients de JSON

A. Il n'est pas aussi populaire et largement utilisé que le format XML, et il n'est pas aussi polyvalent que XML
B. Le format JSON n'est actuellement pas promu dans ; Service Web Appartient à l'étape principale.

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

En termes 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. lisible.

Évolutivité.

XML est naturellement très évolutif, et bien sûr JSON l'est 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 utiliser d'outils. Mais il n'est pas facile de bien écrire du XML.

Difficulté de décodage.

L'analyse XML nécessite de prendre en compte les nœuds enfants et les nœuds parents, ce qui donne le vertige, tandis que la difficulté d'analyse 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).

Méthodes d'analyse.

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

Les poids légers et lourds sont relatifs, alors, où est le poids lourd de XML par rapport à JSON ? Cela devrait être reflété dans l'analyse syntaxique. XML a actuellement 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, mais XML doit prendre en compte les nœuds parents et les nœuds enfants. À ce stade, JSON est beaucoup moins difficile à analyser, car JSON est construit sur deux structures : clé/valeur, une collection de clés. -paires de valeurs ; Une collection ordonnée peut être comprise comme un tableau

SAX

SAX peut traiter le contenu analysé sans lire l'intégralité du document. méthode d'analyse 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.
Ainsi, 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 Elle fournit une étape par étape ; Solution d'analyse en plusieurs étapes 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 d'encodage.

Bien que XML et JSON aient leurs propres outils d'encodage, l'encodage de JSON est plus simple que celui de XML. Vous pouvez écrire du code JSON même sans l'aide d'outils, mais il est un peu difficile d'écrire du bon code XML. Comme XML, JSON est également basé sur du texte, et ils utilisent tous le codage Unicode, et il est aussi lisible que le format d'échange de données XML.

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 s'inquiètent souvent de l'analyse du 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 conduit souvent à un code complexe et. latence extrêmement faible. Efficacité du développement.

En fait, pour la plupart des applications Web, elles n'ont pas du tout besoin de XML complexe pour transmettre des données. L'évolutivité revendiquée par XML a rarement un avantage ici. De nombreuses applications Ajax renvoient même directement des fragments HTML pour créer une page Web dynamique. 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.

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


Utilisez JSON pour représenter les données de certaines provinces et villes de Chine comme suit :
<?xml version="1.0" encoding="utf-8" ?>
<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>

En termes de lisibilité de l'encodage, XML présente des avantages évidents, après tout, le langage humain est plus proche d'une telle structure explicative. 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.
 var country =
    {
      name: "中国",
      provinces: [
      { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
      { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
      { name: "台湾", citys: { city: ["台北", "高雄"]} },
      { name: "新疆", citys: { city: ["乌鲁木齐"]} }
      ]
    }

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.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

jsonp+json implémente la requête inter-domaines AJAX

Comment Jsonp peut-il résoudre les requêtes inter-domaines Ajax demande

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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