Ah, la joie des données structurées… XML et JSON, ces deux vieux copains qu’on croise partout dans nos vies de devs. Un peu comme Mario et Luigi : l’un est carré, verbeux, rigide (coucou XML 👴), l’autre est léger, rapide, et s’impose dans le web moderne (hello JSON 🚀).
Dans cet article, on va décortiquer leurs différences, apprendre à les manipuler, et voir pourquoi tu dois arrêter de dire que « c’est la même chose » (spoiler : non).
🌲 XML : le vétéran du bal
XML, c’est le langage de balisage extensible. Le truc né dans les années 90, l’époque où Netscape existait encore et où on croyait que Windows ME allait changer la vie.
Un document XML ressemble à ça :
<utilisateur>
<nom>Neo</nom>
<role>Chosen One</role>
<compétences>
<skill>Kung-Fu</skill>
<skill>Bullet Time</skill>
</compétences>
</utilisateur>
Points forts :
C’est super structuré.
Tu peux mettre des attributs, des namespaces, du schéma, bref… tout un arsenal d’ingénieur qui aime souffrir.
Idéal pour les trucs lourds : configurations, SOAP, vieux systèmes bancaires (oui, ils existent encore).
Points faibles :
C’est verbeux (3 balises pour dire « je suis Neo »).
Parseur lourd, chiant à manipuler côté frontend.
🥑 JSON : le hipster cool
JSON, c’est JavaScript Object Notation. Né plus tard, adopté comme un pokémon rare dans le web moderne.
Voici l’équivalent JSON de notre Neo :
{ "nom": "Neo", "role": "Chosen One", "competences":
["Kung-Fu", "Bullet Time"] }
Points forts :
Léger, lisible, efficace.
S’intègre parfaitement avec JavaScript (logique, vu le nom).
Parsing ultra simple (JSON.parse(), JSON.stringify()).
Plébiscité par toutes les APIs modernes (REST, GraphQL, etc.).
Points faibles :
Moins strict → pas de schéma imposé (sauf si tu rajoutes du JSON Schema).
Pas idéal si tu dois gérer un arbre de données monstrueux et normé à mort.
🎮 Exemple pratique : conversion XML ↔ JSON
Parce qu’un dev qui lit un article sans code, c’est comme un gamer sans connexion internet : ça râle.
En JavaScript
// Convertir JSON en objet JS
const data = '{"nom":"Neo","role":"Chosen One"}';
const obj = JSON.parse(data);
console.log(obj.nom);
// Neo // Convertir objet JS en JSON
const newJson = JSON.stringify(obj);
console.log(newJson);
En Python (parce que oui, les devs Python existent)
import json import xmltodict xml_data = """
<utilisateur>
<nom>Neo</nom>
<role>Chosen One</role>
</utilisateur> """
# XML → dict Python dict_data = xmltodict.parse(xml_data)
print(dict_data["utilisateur"]["nom"])
# Neo # Dict → JSON json_data = json.dumps(dict_data) print(json_data)
⚔️ XML vs JSON : qui gagne ?
Pour configurer ton serveur Minecraft ou ton app Spring Boot → XML.
Pour discuter avec ton API préférée (Twitter, Spotify, ChatGPT 😏) → JSON.
Pour la compatibilité legacy avec une banque des années 80 → XML.
Pour un projet web qui doit scaler et rester simple → JSON.
Moralité : ce n’est pas une guerre, c’est un duo. Comme Batman et Robin (sauf que XML est Batman, vieux et dark, et JSON c’est Robin, rapide et fun).
🚀 Conclusion
Arrête de fuir XML comme si c’était ton ex toxique. Il est chiant, mais il a son utilité.
Et arrête de vénérer JSON comme si c’était la réponse à tout : lui aussi peut t’apporter des bugs bien salés.
Le vrai dev sait jongler avec les deux.
Le vrai dev sait surtout coller un try/catch autour de son JSON.parse() (sinon, BOOM 💥).
Maintenant, va faire le malin sur ton Slack en expliquant que tu sais transformer du XML en JSON et vice versa. Tu vas briller plus que ton laptop RGB.
M-binary