Encoders & Utilities

Convertisseur de format de données

Convertit entre JSON, YAML, TOML, XML et CSV. Détection auto, pretty-print et erreurs en ligne. Tout dans le navigateur.

À propos de cet outil

Data Format Converter traduit entre les cinq formats quotidiens de configuration et d'échange de données : JSON, YAML, TOML, XML et CSV. Collez n'importe lequel d'entre eux et l'outil détecte automatiquement le format d'entrée, l'analyse et le ré-émet dans le format cible avec un échappement et une mise en forme appropriés. Les erreurs d'analyse sont affichées en ligne avec la ligne et la colonne afin que vous sachiez exactement quoi corriger.

Chaque format a ses propres bizarreries. JSON est le plus petit dénominateur commun — chaînes, nombres, booléens, tableaux, objets. YAML ajoute commentaires, chaînes multi-lignes et références. TOML est JSON avec une syntaxe de surface conviviale pour les fichiers de config (sections, commentaires, dates). XML ajoute attributs et espaces de noms qui ne se traduisent pas proprement vers les autres. CSV est tabulaire et ne fait l'aller-retour que vers et depuis la forme « tableau d'objets plats » de la source. L'outil signale les conversions avec perte avant de les appliquer.

Quand utiliser cet outil

  • Migrer les fichiers de config. Un chart Helm en YAML à consommer par un module Terraform qui veut du JSON — collez et convertissez.
  • Inspection CSV rapide. Collez un export de tableur, obtenez un tableau JSON propre à donner à votre suite de tests.
  • Interop YAML / TOML. Mêmes valeurs de configuration, différentes préférences de syntaxe de surface entre membres d'équipe.
  • Déboguer les API XML. Convertissez la réponse SOAP en JSON pour la lire sans noyer dans les chevrons.

À propos des conversions avec perte

JSON → YAML et retour est sans perte pour les données simples. XML → JSON perd la distinction entre attributs et éléments enfants (nous mappons les attributs à une clé @attr, ce qui est une convention pas une norme). CSV → JSON nécessite que la première ligne soit des en-têtes (basculable) et suppose des enregistrements plats — les objets imbriqués ne sont pas représentables. L'outil avertit lorsque l'aller-retour ne serait pas identique octet par octet afin que vous puissiez choisir d'accepter ou de choisir une cible différente.

Questions fréquentes

Pourquoi mon YAML échoue-t-il à s'analyser ?

YAML est sensible aux espaces blancs — les tabulations ne sont pas autorisées (utilisez des espaces) et l'indentation doit être cohérente dans un bloc. Erreurs courantes : un deux-points sans espace suivant (key:value vs key: value) ; guillemets manquants autour de valeurs contenant : ou # ; tabulations mélangées avec espaces. Le message d'erreur d'analyse inclut la ligne et la colonne afin que vous puissiez trouver rapidement le caractère fautif.

Puis-je convertir du XML avec attributs ?

Oui — les attributs XML deviennent des clés préfixées par @ lors de la conversion vers JSON / YAML / TOML. <item id="1">text</item> devient { "item": { "@id": "1", "#text": "text" } }. C'est une convention (utilisée par Badgerfish, variantes JsonML) — pas une seule norme. Convertir en arrière vers XML reconstruit la structure originale. Le contenu mixte (texte et éléments entrelacés) est le cas avec perte ; nous le signalons.

Comment CSV détecte-t-il les en-têtes ?

Par défaut la première ligne non vide est traitée comme en-têtes et le reste comme lignes de données. Vous pouvez désactiver cela — alors chaque ligne devient un tableau de valeurs sans clés. Pour les délimiteurs exotiques (point-virgule, tabulation, pipe) nous détectons automatiquement à partir des fréquences de caractères de la première ligne. Le BOM UTF-8 est silencieusement retiré ; les fins de ligne CRLF et LF sont toutes deux acceptées.

Mes données quittent-elles la page ?

Non — chaque parser s'exécute en JavaScript dans votre navigateur. Il n'y a pas d'appel réseau, pas de journalisation, pas de persistance. Vous pouvez vous déconnecter du réseau avant de coller des configs sensibles et l'outil fonctionne toujours. Pour une sécurité maximale avec des données privées, sauvegardez la page hors ligne (HTML + JS) et exécutez-la depuis un fichier local.