Quelle est l'importance du XML dans le monde de JSON?

17

À quel point est-il important d'apprendre XML lorsque JSON est capable de faire presque tout ce dont j'ai besoin? Cela dit, j'utilise JSON principalement pour les requêtes AJAX et l'obtention de données à partir de diverses API. Je suis un débutant total dans le développement Web et la raison pour laquelle je pose cette question est que je veux savoir si je dois aller de l'avant et acheter un livre sur XML ou si je peux simplement lui donner un laissez-passer.

Rasmus
la source
2
Étant donné que vous rencontrerez XML sur une base plutôt cohérente, j'irais de l'avant et prendrais le livre.
Tim Post
11
Lisez simplement la norme. Je n'ai jamais trouvé XML difficile à apprendre / à comprendre, juste fastidieux.
dietbuddha
Je n'ai jamais compris cela non plus - qu'est-ce qui est si difficile à comprendre XML? 99,9% du XML est juste utilisé comme conteneur pour les données - c'est de simples fichiers texte, rien de compliqué!
Keith Palmer Jr.,
tout le monde devrait nous CSV ...
Jonathan dos Santos
1
@KeithPalmer: et il y a toujours un grand nombre d'erreurs à trouver sur le Web. De la mauvaise déclaration d'encodage aux échappements manquants pour les caractères qui en ont besoin en utilisant simplement un fichier XML comme un conteneur CDATA unique. Et ne me lancez pas sur la façon de mal utiliser les espaces de noms.
Joachim Sauer

Réponses:

29

Vous devrez apprendre le XML pour vous rendre n'importe où dans le monde Web. C'est ce qui motive de nombreuses communications B2B et il existe de nombreux formats XML standard décrivant ce qui est important.

Se limiter à JSON est extrêmement limitatif. Oui, vous allez balancer les appels AJAX, mais que se passe-t-il lorsque vous devez communiquer avec un GeoServer? Il adhérera aux normes SIG et générera du XML aux formats WCS (Web Capabilities Service), WMS (Web Map Service) et WFS (Web Feature Service) entre autres. Si vous ne savez pas comment gérer XML, vous aurez des problèmes avec cela.

Bien sûr, tout marshaller (objet de domaine au format texte) digne de ce nom sera en mesure de convertir leurs objets vers et depuis XML / JSON / YAML afin que vous puissiez faire valoir que tant que vous pouvez vous cacher derrière le marshaller, vous n'avez qu'à traiter les objets de domaine. Les services Web fournissent WSDL exactement à cette fin. Mais tôt ou tard, vous devrez lire et comprendre le contenu de vos demandes et réponses et cela nécessitera certainement une compréhension de XML.

Et n'oublions pas le bon vieux XHTML, l'ancien standard Web pour les pages HTML. C'est XML.

Donc, en bref, apprenez XML - et gardez JSON partout où vous le pouvez car c'est agréable.

Gary Rowe
la source
2
Merci beaucoup Gary! XML a l'air tellement gonflé et vraiment effrayant de plonger, mais d'après ce que vous avez dit, je vais devoir l'apprendre ......!
Rasmus
@Alice Commencez lentement. Considérez-le comme du HTML répétitif. Autorisez ensuite la sensibilité à la casse. Examinez ensuite comment différents types de données (par exemple, int, chaîne, date) pourraient être représentés et étiquetés à l'intérieur de ces éléments ou attributs. Ensuite, rendez cette représentation du type de données un peu plus formelle (XSD) et vous êtes à peu près aussi loin que vous devrez aller. Ce tutoriel devrait aider: devguru.com/features/tutorials/xml/beginning_xml.html
Gary Rowe
1
Je ne sais pas quel langage / framework / plateforme vous utilisez, mais quel qu'il soit, je suis sûr que vous constaterez qu'il possède des bibliothèques standard pour l'analyse et la génération de XML, vous ne devriez pas vous retrouver à interpréter les crochets pointus manuellement.
Carson63000
5
+1, bien que pour ce que ça vaut, XHTML n'est pas vraiment si nouveau et semble avoir déménagé à l'arrière avec HTML 5.
John M Gant
1
Peut être. Mon point était plus que le W3C semble que leur réflexion sur XHTML a un peu changé au cours des dernières années. Il est toujours là et pris en charge, mais ce n'est plus comme si vous étiez une sorte de gamin de script utilisant une disposition de table aimant IE si vous utilisez du HTML simple au lieu de XML. C'est quelque peu tangentiel à votre réponse de toute façon, désolé.
John M Gant
6

XML surpasse définitivement JSON pour le balisage (qui est, après tout, fait allusion au nom).

Je ne voudrais pas voir une page XHTML aléatoire convertie au format JSON. Ce serait horrible. OpenOffice et les dernières éditions de Microsoft Office utilisent tous du XML compressé comme format de choix.

En règle générale: le balisage va en XML; les données structurées vont dans JSON.

C'est à ce moment que vous générez des données et que vous contrôlez vous-même le format. Si vous générez des données conformément aux normes de l'industrie ou consommez des données d'autres personnes, vous devrez peut-être utiliser XML même dans des endroits où JSON semblerait plus approprié. En effet, XML est plus ancien et a été utilisé dans de nombreuses normes.

Trigonométrie
la source
+1, en particulier pour noter la différence entre le balisage et les données structurées.
Arseni Mourzenko