Maison  >  Article  >  développement back-end  >  Une introduction détaillée aux avantages et inconvénients de JSON et XML

Une introduction détaillée aux avantages et inconvénients de JSON et XML

黄舟
黄舟original
2017-05-07 13:52:371995parcourir

JSON(Javascript Object Notation) est un format d'échange de données léger. Facile à lire et à écrire pour les humains. Il est également facile à analyser et à générer pour les machines. Il est basé sur Javascript Programming Language, un sous-ensemble de la norme ECMA-262 3e édition - décembre 1999. JSON utilise un format de texte totalement indépendant du langage, mais utilise également des conventions similaires à la famille des langages 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.
Le concept de JSON est très simple, c'est-à-dire que le serveur génère directement des instructions Javascript et que le client utilise directement la méthode eval pour obtenir l'objet après l'avoir obtenu, éliminant ainsi le coût d'analyse XML.
Si vous souhaitez charger des informations depuis l'arrière-plan, écrivez-les en XML comme suit :

<contact>
<friend>
<name>Michael</name>
<email>17bity@gmail.com</email>
<homepage>http://www.jialing.net</homepage>
</friend>
<friend>
<name>John</name>
<email>john@gmail.com</email>
<homepage>http://www.john.com</homepage>
</friend>
<friend>
<name>Peggy</name>
<email>peggy@gmail.com</email>
<homepage>http://www.peggy.com</homepage>
</friend>
</contact>

Et écrivez-les au format JSON :

[
{
name:"Michael",
email:"17bity@gmail.com",
homepage:"http://www.jialing.net"
},
{
name:"John",
email:"john@gmail.com",
homepage:"http://www.jobn.com"
},
{
name:"Peggy",
email:"peggy@gmail.com",
homepage:"http://www.peggy.com"
}
]

Ce n'est pas seulement une question d'expression, la chose la plus importante est qu'il peut éliminer l'analyse déroutante du DOM. Parce que tant qu'il répond aux spécifications de la déclaration Javascript, JavaScript l'analysera automatiquement pour vous. La méthode de base pour utiliser JSON en Ajax consiste à charger la chaîne de la déclaration d'arrière-plan objet Javascript au premier plan, à utiliser la méthode eval pour la convertir en un objet réel, et enfin à mettre à jour via DHTML Informations sur la page.

JSON réduit non seulement les problèmes de performances et de compatibilité causés par l'analyse XML, mais est également très facile à utiliser pour Javascript. Vous pouvez facilement parcourir les tableaux et accéder aux objets via l'attribut . pour obtenir des données, sa lisibilité est également bonne, et elle possède fondamentalement les propriétés des données structurées. Je dois dire que c'est une bonne méthode, et en fait Google Maps n'utilise pas XML pour transférer des données, mais utilise la solution JSON.

Un autre avantage de JSON est "cross-domain". Par exemple, si vous utilisez la

définition JSON

dans la page web de www.Web. cn Un format d'échange de données léger, facile à lire et à écrire rapidement. La technologie dominante du secteur fournit une solution complète (quelque peu similaire à l'Expression régulière, qui est prise en charge par la plupart des langages aujourd'hui), permettant l'échange de données entre différentes plates-formes. JSON adopte un format de texte hautement compatible et a également un comportement similaire au système de langage C.

Définition de XML

Extensible Markup Language (XML), un langage de balisage utilisé pour marquer les documents électroniques afin de les rendre structurels, et peut être utilisé pour marquer les données, définition type de données est un langage source qui permet aux utilisateurs de définir leur propre langage de balisage. 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.

[ XML ]
Avantages de l'utilisation de XML comme format de transmission :

  1. Format uniforme, conforme aux normes

  2. Facile d'interagir à distance avec d'autres systèmes, le partage de données est plus pratique

Inconvénients :

  1. Le format de fichier XML contient des fichiers énormes, format complexe et transmission Occupant la bande passante

  2. Le serveur et le client doivent dépenser beaucoup de code pour analyser XML, que le code côté serveur ou client devienne extrêmement complexe et difficile à maintenir

  3. 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

  4. Il faut des ressources et du temps pour analyser XML côté serveur et côté client

[ JSON ]
Donc, à part le format XML, existe-t-il d'autres formats ? format d'échange de données appelé JSON (JavaScript Object Notation) qui peut remplacer le travail de XML.

Avantages :

  1. Le format de données est relativement simple, facile à lire et à écrire , les formats sont compressés et prennent peu de bande passante

  2. Facile à analyser ce langage, JavaScript côté client peut simplement lire les données JSON via eval_r()

  3. 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

  4. Dans le monde PHP, PHP-JSON et JSON-PHP sont déjà apparus, pratiques pour les appels directs par des programmes sérialisés PHP. Les objets côté serveur PHP, les tableaux, etc. peuvent générer directement le format JSON. , ce qui facilite l'accès et l'extraction des clients.

  5. É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, mais les tâches terminées restent les mêmes et sont faciles à maintenir

Inconvénients :

  1. Le format XML n'est pas aussi populaire et largement utilisé, et il n'est pas aussi polyvalent que XML

  2. Le format JSON est actuellement La promotion dans les Web Services en est encore à ses balbutiements
    Comparaison des avantages et inconvénients du JSON et du XML

  3. En terme de lisibilité, la lisibilité des données JSON et XML est fondamentalement la même. La lisibilité de JSON et XML est quasiment la même. Il est difficile de faire la distinction entre la syntaxe recommandée et le format de balise standardisé.

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

  5. En termes de difficulté de codage, XML dispose d'une multitude d'outils de codage, tels que Dom4j, JDom, etc. JSON dispose également d'outils fournis par json.org, mais le codage JSON est évidemment beaucoup plus facile que XML, même si le code JSON peut être écrit sans l'aide d'outils, mais il n'est pas facile de bien écrire du XML.

  6. En termes de 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'analyse de JSON est presque de 0. XML ne perd vraiment rien à ce stade.

  7. En termes de popularité, XML a été largement utilisé dans l'industrie, tandis 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. en JSON. D'ici là, Ajax devrait devenir Ajaj (AsynchrJavascript et JSON).

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

  9. Comparé à XML, JSON a une petite taille de données.

  10. L'interaction entre JSON et JavaScript est plus pratique.

  11. JSON est moins descriptif des données que XML.

  12. JSON est beaucoup plus rapide que XML.

1. Comparaison des formats d'échange de données sur XML et JSON :
XML : langage de balisage extensible, langage similaire au HTML Il n'a pas de balises prédéfinies et utilise la DTD . (document définition de type) définition de type de document pour organiser les données ; le format est unifié, multiplateforme et multilingue, et est depuis longtemps devenu une norme reconnue dans l'industrie. Pour des informations spécifiques, vous pouvez demander à Google ou Baidu. Comparé à JSON, un format d'échange de données léger, XML peut être qualifié de lourd.
JSON : JavaScript Object Notation est un format d'échange de données léger. Facile à lire et à écrire pour les humains. Il est également facile à analyser et à générer pour les machines. Il est basé sur le langage de programmation JavaScript, un sous-ensemble de la norme ECMA-262 3e édition – décembre 1999. JSON utilise un format de texte totalement indépendant du langage, mais utilise également des conventions similaires à la famille des langages 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.
2. Comparaison des formats d'échange de données sur léger et lourd :
Léger et lourd sont des termes relatifs, alors où est le poids lourd de XML par rapport à JSON Je pense que cela devrait être reflété En termes d'analyse, XML est actuellement ? conçu avec deux méthodes d'analyse : DOM et SAX ; À un moment donné, les principes de JSON et de XML sont les mêmes, mais XML doit prendre en compte les nœuds parents et les nœuds enfants. À cet égard, JSON est beaucoup moins difficile à analyser, car JSON est construit. sur deux structures :
key/value, key Une collection de paires de valeurs ; une collection ordonnée de valeurs, qui peut être comprise comme un tableau 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 la suivante : 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, tandis que XML fournit une solution étape par étape à grande échelle ; schéma d'analyse de données, très approprié pour traiter de grandes quantités de données. 3. Comparaison des formats d'échange de données concernant la difficulté d'encodage et d'analyse des formats de données :
En termes d'encodage, bien que XML et JSON disposent de leurs propres outils d'encodage, l'encodage JSON est plus simple que XML, même sans l'aide de tools , vous pouvez également écrire du code JSON, 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 deux le codage Unicode, et il est aussi lisible que le format d'échange de données XML.
Subjectivement, 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 à des problèmes complexes. code et une efficacité de développement extrêmement faible.
En fait, pour la plupart des applications Web, elles n'ont pas du tout besoin de XML complexe pour transmettre des données, et l'extensibilité revendiquée par XML a rarement un avantage ici ; 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.

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