Convertisseur JSON <-> YAML

Convertissez JSON en YAML et YAML en JSON instantanément.

Qu'est-ce que JSON et YAML ?

JSON (JavaScript Object Notation) et YAML (YAML Ain't Markup Language) sont des formats de sérialisation de données populaires. JSON est la norme pour les API web et l'échange de données, tandis que YAML est préféré pour les fichiers de configuration en raison de sa syntaxe lisible par l'homme. Cet outil vous permet de convertir entre eux instantanément.

Comprendre JSON

  • La norme universelle pour les API REST et l'échange de données web
  • Syntaxe stricte nécessitant des guillemets doubles autour des clés et des chaînes
  • Support d'analyse natif en JavaScript et la plupart des langages de programmation
  • Pas de commentaires autorisés, ce qui garde le format pur pour les données
  • Compact et efficace pour la transmission réseau

Comprendre YAML

  • Conçu pour la lisibilité humaine avec une syntaxe minimale
  • Utilise l'indentation (espaces, pas de tabulations) pour définir la structure
  • Supporte les commentaires avec le symbole # pour la documentation
  • Standard pour Docker Compose, Kubernetes, Ansible et les pipelines CI/CD
  • Supporte les chaînes multilignes et les types de données complexes

Quand utiliser chaque format

JSON

Utilisez JSON pour les réponses et requêtes API, le stockage de données dans des bases comme MongoDB, le localStorage du navigateur, et toute communication machine-à-machine où la vitesse d'analyse compte.

YAML

Utilisez YAML pour les fichiers de configuration, l'infrastructure en tant que code (Terraform, Kubernetes), les workflows CI/CD (GitHub Actions, GitLab CI), et tout fichier que les humains liront et modifieront fréquemment.

Différences de syntaxe clés

Comprendre les différences vous aide à éviter les erreurs de conversion :

  • JSON nécessite des guillemets doubles autour de toutes les clés et valeurs de chaîne. Les guillemets YAML sont optionnels pour la plupart des chaînes.
  • JSON utilise des virgules pour séparer les éléments. YAML utilise des sauts de ligne et l'indentation à la place.
  • JSON utilise {} et [] pour les objets et les tableaux. YAML utilise l'indentation et des tirets (-) pour les listes.
  • Les deux supportent true/false, mais YAML accepte aussi yes/no et on/off comme valeurs booléennes.
  • JSON utilise null. YAML accepte null, ~ ou simplement laisser une valeur vide.

Pièges de conversion courants

Attention à ces problèmes lors de la conversion entre les formats :

  • Les commentaires YAML (lignes commençant par #) sont perdus lors de la conversion en JSON car JSON ne supporte pas les commentaires.
  • Les chaînes multilignes YAML utilisant | ou > sont converties en chaînes d'une seule ligne avec des séquences d'échappement \n en JSON.
  • Les ancres YAML (&) et les alias (*) pour réutiliser le contenu n'ont pas d'équivalent JSON et sont développés.
  • YAML détecte automatiquement les types, donc 'yes' devient un booléen. Entourez de guillemets si vous avez besoin de la chaîne littérale.
  • YAML est sensible à l'indentation. Un espacement incohérent causera des erreurs d'analyse.

Meilleures pratiques

  • Validez toujours votre sortie après conversion, surtout pour les fichiers de configuration qui seront utilisés en production.
  • Gardez des sauvegardes des fichiers originaux avant la conversion, particulièrement pour les configurations complexes.
  • Utilisez une indentation cohérente (2 ou 4 espaces) en YAML pour une meilleure lisibilité.
  • Testez les fichiers de configuration convertis dans un environnement de staging avant de déployer en production.

Questions Fréquemment Posées

La conversion est-elle sécurisée et privée ?

Absolument. Toute la conversion se fait à 100% dans votre navigateur avec JavaScript. Vos données ne quittent jamais votre ordinateur et ne sont jamais envoyées à un serveur. Cela le rend sûr pour les fichiers de configuration sensibles et les réponses d'API.

Puis-je convertir de gros fichiers ?

Oui, l'outil peut gérer de gros fichiers, mais les performances dépendent de votre navigateur et de votre appareil. Pour les fichiers de plus de 1 Mo, vous pourriez remarquer un léger délai. Pour les très gros fichiers (10 Mo+), envisagez d'utiliser des outils en ligne de commande comme yq pour de meilleures performances.

Que deviennent les commentaires YAML lors de la conversion ?

Puisque JSON ne supporte pas les commentaires, tous les commentaires YAML (lignes commençant par #) sont perdus lors de la conversion en JSON. Si vous devez conserver la documentation, envisagez de la garder dans un fichier séparé ou de ne convertir que les parties de données.

Pourquoi mon YAML a-t-il des guillemets après conversion depuis JSON ?

Le convertisseur ajoute des guillemets autour des chaînes qui pourraient être mal interprétées comme d'autres types. Par exemple, 'yes' sans guillemets en YAML devient un booléen. Les guillemets assurent que la valeur reste une chaîne. Vous pouvez supprimer manuellement les guillemets inutiles si vous le souhaitez.

Puis-je convertir des objets et tableaux imbriqués ?

Oui, le convertisseur gère les structures profondément imbriquées, les tableaux d'objets et les types de données mixtes. JSON et YAML supportent les mêmes types de données fondamentaux, donc les structures complexes se convertissent sans problème.

Quelle version de YAML cet outil supporte-t-il ?

Cet outil utilise YAML 1.2, qui est la norme actuelle. Il est compatible avec le YAML utilisé par Docker, Kubernetes, GitHub Actions et la plupart des outils modernes. Notez que certains outils plus anciens peuvent utiliser YAML 1.1, qui a des règles de coercition de type légèrement différentes.