Texte et code / Guides

JSON, CSV, YAML ou JSON Lines : choisir le bon format

Une conversion n’est utile que si le système destinataire comprend encore les champs, leurs types et les limites entre enregistrements.

Choisissez selon la forme des données

JSON représente explicitement tableaux, objets, chaînes, nombres, booléens et null. Il convient aux échanges de données d’API imbriquées et aux paramètres lus par un programme. CSV correspond à un tableau : chaque enregistrement présente des champs dans un même ordre de colonnes. C’est pratique pour les lignes simples et les imports dans un tableur, mais une cellule ne précise pas si 0012 est un identifiant, un nombre ou du texte. YAML est souvent retenu pour une configuration modifiée par des humains, grâce aux correspondances, séquences et à l’indentation lisible ; ses règles d’analyse demandent néanmoins de l’attention. JSON Lines place une valeur JSON entière par ligne, ce qui facilite l’ajout ou le traitement indépendant des enregistrements. Choisissez la structure attendue par le logiciel destinataire.

Un exemple sous quatre formes

Prenons le tableau JSON [{"id":1,"city":"Paris"},{"id":2,"city":"Lima"}]. Une exportation CSV simple donne l’en-tête id,city, puis les lignes 1,Paris et 2,Lima. En YAML, on peut écrire une séquence de deux correspondances possédant chacune id et city. En JSON Lines, la première ligne vaut {"id":1,"city":"Paris"} et la deuxième {"id":2,"city":"Lima"} ; aucun tableau global ne les entoure. Les convertisseurs liés montrent directement ces représentations. Si city contient une virgule, un guillemet ou un retour à la ligne, CSV nécessite des guillemets et un échappement compatibles avec le lecteur. Ce petit exemple ne montre pas toute la complexité : essayez des valeurs réalistes avant une exportation volumineuse.

Deux mêmes enregistrements, organisés pour différents lecteurs.
  1. JSON : tableau d’objets typés
  2. CSV : en-tête et lignes plates · YAML : correspondances indentées
  3. JSON Lines : un objet JSON par ligne

Décidez du sort des types et de l’imbrication

Un objet JSON peut contenir un autre objet ou un tableau. Une ligne CSV plate ne représente pas cette structure sans convention : colonnes supplémentaires, JSON sérialisé dans une cellule ou plusieurs tables, par exemple. Tout outil de conversion doit choisir une méthode ; inspectez sa sortie avant de conclure que rien n’a été perdu. Les nombres et booléens peuvent devenir du texte de cellule en CSV et nécessiter un typage explicite à l’import. Le zéro initial d’un identifiant peut être significatif, même si un tableur voudrait le convertir en nombre. YAML décrit des structures riches, mais ses valeurs sans guillemets et son indentation méritent une vérification dans l’analyseur cible. JSON Lines conserve les types JSON par enregistrement ; chaque ligne physique doit être une valeur JSON valide.

Testez un aller-retour représentatif

Avant de convertir tout un fichier, préparez un échantillon avec une ligne normale, un champ vide, un guillemet, une virgule, un caractère non ASCII et, si nécessaire, une valeur imbriquée. Convertissez-le, puis revenez au format initial si l’outil inverse existe. Comparez structure et types plutôt que le seul texte visible. Vérifiez les noms des colonnes, le nombre d’enregistrements, leur ordre et la distinction entre null et chaîne vide. Dans JSON Lines, assurez-vous qu’un saut de ligne sépare les enregistrements et qu’un objet présenté sur plusieurs lignes n’a pas été pris pour plusieurs valeurs. Le convertisseur JSON vers CSV intégré commence par deux enregistrements simples : modifiez-en un et examinez la table obtenue. Les autres liens permettent d’essayer YAML et le format par lignes.

Adaptez l’importation au destinataire

Pour un tableur de lignes plates et homogènes, CSV est souvent pratique ; documentez séparateur, encodage et types de colonnes attendus. Lorsque des personnes non fiables fournissent les valeurs, un tableur peut interpréter des cellules commençant par certains caractères comme des formules : l’exportation destinée à un tableur réclame alors une politique de sécurité particulière. YAML peut rendre une configuration lisible par des humains, mais validez-la avec l’analyseur réellement utilisé. Pour une API ou un document structuré, JSON expose généralement mieux les types et l’imbrication. Pour un journal ou un pipeline consommant un événement à la fois, JSON Lines évite parfois un immense tableau. La conversion syntaxique n’est qu’un premier contrôle ; l’interprétation du logiciel cible est décisive.

Essayer le convertisseur

Modifiez l’exemple JSON à deux entrées et examinez le tableau CSV obtenu.

Transformez un tableau plat d’objets JSON en lignes CSV.

Ouvrir le convertisseur complet

Autres guides

Guides de conversion

Explorer les guides