18Docs

CSV contre JSON contre YAML contre XML

CSV, JSON, YAML et XML stockent tous des données structurées, mais ils ont été conçus pour des usages différents. Choisir le bon — et savoir comment ils se convertissent — évite bien des frictions quand on fait circuler des données entre tableurs, code, fichiers de configuration et API.

Ce que chaque format fait le mieux

Le CSV, c'est un tableau plat : des lignes et des colonnes, rien de plus. Il est parfait pour les tableurs et les exports tabulaires, et presque tous les outils savent le lire — mais il ne peut pas exprimer d'imbrication ni de hiérarchie. Le JSON est le langage des API et des applications modernes : compact, il gère les objets et les tableaux imbriqués, et il est facile à analyser pour du code. Le YAML est le cousin plus lisible du JSON, il utilise l'indentation à la place des accolades, ce qui explique pourquoi il domine les fichiers de configuration. Le XML est l'ancêtre, verbeux et très structuré, encore courant dans les systèmes d'entreprise, les formats de documents et les anciennes API.

Passer proprement de l'un à l'autre

Convertir des données plates est simple : un tableau CSV se transpose facilement en un tableau d'objets JSON, en YAML, ou en enregistrements XML. La friction apparaît avec l'imbrication : le CSV ne peut pas représenter la structure imbriquée que JSON, YAML et XML peuvent avoir, donc convertir un JSON profondément imbriqué en CSV oblige à l'aplatir, ce qui peut faire perdre la hiérarchie. Dans l'autre sens, du CSV vers le JSON, c'est généralement propre.

Quand vous convertissez, surveillez les types et l'encodage : les nombres, les booléens et les dates doivent survivre sous le bon type, et le texte contenant des virgules ou des caractères spéciaux a besoin d'un bon échappement. Un bon convertisseur s'en charge pour vous, et l'utiliser dans votre navigateur garde les données — potentiellement sensibles — hors de tout serveur.

Questions fréquentes

Pourquoi mon JSON imbriqué ne se convertit-il pas proprement en CSV ?
Le CSV est un tableau plat et ne peut pas représenter l'imbrication. Le JSON imbriqué doit être aplati pour tenir dans des colonnes, ce qui peut faire perdre une partie de la hiérarchie.
Quel format est le meilleur pour les fichiers de configuration ?
Le YAML est populaire pour les configurations car son style basé sur l'indentation est facile à lire et à modifier pour un humain ; le JSON est aussi courant là où les outils le préfèrent.