Passer au contenu

Convertisseur JSON ↔ YAML

Convertisseur JSON ↔ YAML

Éditez JSON et YAML côte à côte avec une synchronisation bidirectionnelle instantanée. Supporte l'ajustement de l'indentation, le tri des clés et le découpage en multi-documents YAML. Utile pour les configs Kubernetes/Helm/CI et le débogage d'API.

Convertisseur JSON ↔ YAML

🚀 Démarrage rapide

  • Collez ou tapez JSON dans l'éditeur de gauche et YAML sur la droite se met automatiquement à jour.
  • Vous pouvez également taper YAML à droite et JSON à gauche se met à jour automatiquement.
  • La synchronisation est entièrement bidirectionnelle. Aucun changement de mode n'est nécessaire : modifiez l'un ou l'autre côté et l'autre côté se met à jour instantanément.
  • Utilisez la barre d'outils supérieure pour définir l'indentation JSON/YAML, activer le tri par clé et basculer la sortie YAML multi-documents.
  • Appuyez sur Tab dans l'éditeur pour insérer une indentation au lieu de déplacer le focus.
  • Chaque éditeur dispose de boutons Copier et Effacer dans le coin supérieur droit. Effacer l’un ou l’autre côté efface les deux côtés.

📌 Scénarios courants

  • Création Kubernetes : convertissez les manifestes de ressources K8 entre YAML et JSON pour inspecter la structure à partir de l'une ou l'autre vue.
  • Débogage des valeurs Helm : convertissez Values.yaml en JSON pour inspecter les types et l'imbrication dans votre IDE.
  • Pipelines CI/CD : convertissez rapidement des extraits entre GitHub Actions (YAML) et les systèmes CI qui utilisent JSON.
  • Débogage de l'API : convertissez les charges utiles JSON en YAML pour une vue hiérarchique plus claire.
  • Migration de configuration : conversion par lots des fichiers de configuration entre YAML et JSON.
  • Formatage et validation : vérifiez la syntaxe JSON/YAML via une synchronisation bidirectionnelle, avec emplacement des erreurs de ligne/colonne.

🧭 Conseils d'utilisation

  • Un retrait JSON à 2 espaces fonctionne dans la plupart des cas ; utilisez 4 espaces pour l'imbrication profonde ou les fichiers de valeurs Helm.
  • Activez le tri des clés pour afficher les clés d'objet par ordre alphabétique. Cela facilite la comparaison des différences de configuration.
  • Lorsque la racine JSON est un tableau, activez YAML multi-documents pour diviser chaque élément en un document distinct (---), utile pour les fichiers K8s multi-ressources.
  • Si la saisie n'est pas valide, l'éditeur affiche une erreur avec les détails de la ligne/colonne ; l'autre côté conserve son dernier contenu valide.
  • Pour le contenu volumineux, collez d'abord et attendez la synchronisation, puis poursuivez l'édition pour éviter une reconversion excessive.

⚠️ Limitations et compatibilité

  • L'analyse YAML suit la spécification YAML 1.2. Certains comportements spécifiques à YAML 1.1 (par exemple, la conversion booléenne automatique oui/non) peuvent différer.
  • Les numéros JSON suivent les limites JavaScript IEEE 754. Les entiers au-delà d’une précision de sécurité de 53 bits peuvent perdre en précision.
  • Les ancres et alias YAML (&, *, <<) sont étendus en valeurs concrètes lorsqu'ils sont convertis en JSON ; les références ne peuvent pas être conservées.
  • Les commentaires YAML sont supprimés lors de la conversion car JSON ne prend pas en charge les commentaires.

🔒 Confidentialité & sécurité

  • Tout le traitement s'effectue localement dans votre navigateur. Vos données ne quittent jamais votre appareil.

❓ FAQ

Quelle est la différence entre JSON et YAML, et quand dois-je les utiliser ?

JSON et YAML peuvent représenter les mêmes types de données (objets, tableaux, chaînes, nombres), mais leur syntaxe diffère : • JSON utilise des accolades/crochets et des guillemets doubles, a une syntaxe plus stricte et ne prend pas en charge les commentaires. • YAML utilise l'indentation pour la hiérarchie, est plus lisible par l'homme et prend en charge les commentaires, mais est sensible aux espaces. Règle générale : • Pour les API et les échanges de données machine à machine, préférez JSON. • Pour les configurations Kubernetes/Helm/CI que les humains modifient souvent, préférez YAML. • Vous pouvez effectuer une conversion entre eux sans modifier le modèle de données.

Pourquoi oui/non/on/off dans YAML devient-il vrai/faux après la conversion ?

Cela vient du comportement hérité de YAML 1.1, où oui/non/on/off/y/n peut être analysé comme des booléens. Cet outil suit YAML 1.2, où seuls vrai/faux sont des booléens. Si vous avez besoin de valeurs de chaîne, citez-les (par exemple, « oui »).

Pourquoi les commentaires YAML disparaissent-ils après la conversion en JSON ?

JSON (RFC 8259) n'autorise pas les commentaires. Les commentaires YAML ne peuvent donc pas être conservés dans la conversion YAML → JSON, et ils ne peuvent pas être reconstruits lors de la reconversion. Conservez le fichier YAML d'origine si les commentaires sont importants.

Que signifie --- en YAML ?

--- est le séparateur de documents de YAML, utilisé pour stocker plusieurs documents indépendants dans un seul fichier. Ceci est courant dans Kubernetes, où un fichier peut contenir des définitions de déploiement, de service et ConfigMap. Cet outil lit YAML multi-documents sous forme de tableau JSON et peut également diviser un tableau JSON en documents YAML séparés.

Que dois-je faire si la précision numérique est perdue après la conversion ?

JavaScript utilise les nombres double précision IEEE 754. Les entiers sûrs vont de -(2^53-1) à 2^53-1 (±9007199254740991). Les entiers plus grands (par exemple, les identifiants Snowflake ou les horodatages 64 bits) peuvent perdre en précision. Pour conserver les valeurs exactes, stockez-les sous forme de chaînes, telles que « 9007199254740992 ».

Qu'arrive-t-il aux ancres YAML (& et *) lors de la conversion ?

Les ancres (&name) et les alias (*name) sont des fonctionnalités de réutilisation spécifiques à YAML. JSON n'a pas de mécanisme de référence équivalent, donc les alias sont développés en copies complètes lors de la conversion. Il s'agit d'une transformation avec perte et la structure d'ancrage d'origine ne peut pas être restaurée automatiquement.