Pack Camo

Convertisseur de données

Faites passer du texte structuré entre JSON, YAML, TOML, CSV et Markdown. Tout s'exécute localement — rien n'est téléversé.

Entrée
JSON · JSONL · YAML · TOML · CSV · TSV · Markdown
Sortie
JSON · JSONL · YAML · TOML · CSV · TSV · HTML

Source

JSON · 320 B

Résultat

YAML

Un arbre, six formats

Chaque conversion analyse la source en un unique arbre typé, puis réécrit cet arbre dans le format cible. C'est ce qui rend les allers-retours honnêtes : un nombre reste un nombre, l'imbrication survit et les clés d'objet conservent l'ordre dans lequel elles ont été écrites au lieu d'être discrètement classées par ordre alphabétique. C'est aussi pourquoi ajouter un format demande un analyseur et un sérialiseur, et non un cas particulier de plus pour chaque paire.

Ce à quoi chaque format est bon

JSON
Le format d'échange par défaut. Conserve l'imbrication et les types intacts.
YAML
Pratique pour la configuration et accepte les commentaires, même s'ils ne sont pas repris.
TOML
Exige une table à la racine. Les null sont abandonnés — le TOML n'a pas cette valeur.
CSV
Prêt pour le tableur. Exige un tableau d'objets ; les valeurs imbriquées deviennent des cellules JSON.
TSV
Du CSV à tabulations. Plus sûr quand vos données regorgent de virgules.
JSONL
Un document par ligne. Le format des pipelines de logs et des jeux de données de LLM.

Les angles gênants, traités volontairement

  • Le CSV n'a pas de types. Une cellule ne devient un nombre que si l'écriture de ce nombre reproduit exactement le texte d'origine : 007 reste donc une chaîne, alors que 12 non.
  • Le CSV n'a pas d'imbrication. Écrire un tableau à partir de données imbriquées conserve les valeurs imbriquées sous forme de JSON dans la cellule, plutôt que d'inventer un aplatissement qu'il faudrait ensuite défaire.
  • Le TOML n'a pas de null. Les clés dont la valeur est null sont abandonnées au lieu de faire échouer tout le document, et une source qui n'est pas un objet à la racine est refusée d'emblée — le TOML exige une table à cet endroit.
  • Les commentaires ne sont pas des données. Les commentaires YAML et TOML vivent en dehors de l'arbre : ils ne survivent donc pas à une conversion. Rien ne peut les transporter.

Questions fréquentes

Comment convertir du JSON en YAML, ou du YAML en JSON ?
Collez ou déposez le document, confirmez le format d'entrée détecté et choisissez le format de sortie. Les deux sens passent par le même arbre typé : l'imbrication, les nombres et les booléens survivent au trajet.
La conversion CSV vers JSON conserve-t-elle mes zéros initiaux ?
Oui. Une cellule n'est convertie en nombre que si la réécriture de ce nombre reproduit exactement le texte d'origine : un identifiant comme 007 reste la chaîne « 007 », tandis que 12 devient le nombre 12.
L'ordre des clés de mon JSON est-il préservé ?
Oui. Les clés d'objet gardent l'ordre du document au lieu d'être classées alphabétiquement, si bien que la sortie reste comparable à votre fichier source.
Pourquoi ma conversion en TOML a-t-elle échoué ?
Le TOML exige une table au niveau supérieur : un tableau ou une valeur seule ne peut donc pas être représenté. Le TOML n'a pas non plus de null : les clés dont la valeur est null sont abandonnées plutôt que de faire échouer tout le document.
Qu'est-ce que le JSONL, et quand l'utiliser ?
Le JSONL — aussi appelé NDJSON — place un document JSON compact par ligne. C'est ce qu'utilisent les pipelines de logs et les jeux de données d'apprentissage automatique, parce qu'un lecteur peut les traiter enregistrement par enregistrement au lieu d'analyser d'abord tout le fichier.