NordVPN
SponsoredVPN sans journaux avec plus de 6 400 serveurs dans 111 pays. Threat Protection bloque pubs, traqueurs et logiciels malveillants.
Obtenir NordVPN →Collez du JSON à gauche et obtenez du YAML à droite, ou l'inverse. Les deux panneaux sont éditables en temps réel et se synchronisent automatiquement. Inclut les boutons Formater JSON, Échanger et Copier. La conversion s'effectue entièrement dans votre navigateur sans envoyer de données à aucun serveur.
JSON (JavaScript Object Notation) a été introduit par Douglas Crockford au début des années 2000 comme un format léger d'échange de données dérivé de la syntaxe des objets JavaScript. Sa grammaire stricte — guillemets doubles, pas de virgules finales, pas de commentaires — le rend sans ambiguïté et trivial à analyser dans n'importe quel langage. JSON a rapidement supplanté XML dans les API web grâce à sa concision et sa compatibilité native avec JavaScript.
YAML (YAML Ain't Markup Language) a été créé en 2001 par Clark Evans et Ingy döt Net avec pour objectif d'être plus convivial pour les humains. YAML 1.2 est techniquement un surensemble de JSON — tout document JSON valide est du YAML valide — mais YAML ajoute une structure basée sur l'indentation, des commentaires, des chaînes multilignes et une inférence de types, le rendant plus confortable pour les fichiers de configuration édités manuellement.
JSON excelle lorsque les machines lisent les données : API REST, enregistrements de bases de données, communication inter-services et localStorage. Sa simplicité signifie que pratiquement tous les langages ont un analyseur JSON intégré, et les règles de syntaxe strictes éliminent toute ambiguïté. Si le consommateur principal est du code, JSON est presque toujours le bon choix.
YAML brille dans les fichiers de configuration édités par des humains : Docker Compose, manifestes Kubernetes, workflows GitHub Actions et playbooks Ansible utilisent YAML par défaut. Les commentaires permettent une documentation en ligne, les chaînes multilignes maintiennent les valeurs longues lisibles, et l'absence d'accolades rend les configurations hiérarchiques moins encombrées.
La sensibilité à l'indentation de YAML est la source d'erreurs la plus fréquente. Contrairement aux accolades de JSON, un espace mal placé change la structure. YAML effectue également une inférence de types automatique : un yes non encadré devient le booléen true, et 0755 peut être interprété comme un nombre octal. Ce convertisseur met entre guillemets les chaînes qui pourraient être mal interprétées pour préserver le type d'origine.
Les caractères spéciaux posent un autre défi. Les deux-points suivis d'un espace (: ), les dièses (#) et les caractères spéciaux en début de chaîne doivent être mis entre guillemets en YAML. Ce convertisseur gère ces cas automatiquement, mais les fonctionnalités avancées de YAML comme les ancres, les alias et les scalaires de bloc multilignes sont hors de portée et afficheront un message d'erreur clair.
Oui. YAML 1.2 est un surensemble strict de JSON, ce qui signifie que tout document JSON valide est du YAML valide. L'inverse n'est pas toujours vrai : les fonctionnalités YAML comme les commentaires, les ancres et les scalaires de bloc n'ont pas d'équivalent en JSON.
YAML est surtout utilisé dans les fichiers de configuration : Docker Compose (docker-compose.yml), manifestes Kubernetes, GitHub Actions (.github/workflows), playbooks Ansible. Son style lisible convient aux fichiers que les développeurs éditent manuellement.
YAML l'emporte généralement pour la configuration éditée par des humains car il prend en charge les commentaires et est moins verbeux. JSON est préférable pour la configuration générée ou consommée par des machines. De nombreux outils (ESLint, Prettier, tsconfig) acceptent les deux.
Les chaînes contenant des deux-points suivis d'un espace, des caractères spéciaux en début ({, [, #, etc.) ou des valeurs ressemblant à des booléens ou des nombres doivent être mises entre guillemets. Les guillemets simples désactivent tout échappement ; les guillemets doubles utilisent des échappements par barre oblique inversée similaires à JSON. Ce convertisseur ajoute automatiquement des guillemets où nécessaire.
Pour les types pris en charge par JSON (chaînes, nombres, booléens, null, objets, tableaux), la conversion est sans perte. Le seul problème potentiel est l'inférence de types de YAML sur les valeurs sans guillemets, c'est pourquoi ce convertisseur met entre guillemets les chaînes qui pourraient être mal interprétées.
Utilisez la bibliothèque PyYAML : import yaml, json; data = yaml.safe_load(open('fichier.yaml')); print(json.dumps(data, indent=2)). La fonction safe_load évite d'exécuter des balises YAML arbitraires, ce qui est important pour la sécurité.
Avec le paquet js-yaml : const yaml = require('js-yaml'); const obj = JSON.parse(fs.readFileSync('fichier.json')); console.log(yaml.dump(obj)). Pour une approche sans dépendances, écrivez le sérialiseur YAML manuellement, ce que fait ce convertisseur.
Ce convertisseur omet intentionnellement les fonctionnalités avancées de YAML : ancres (&ancre), alias (*alias), balises de type (!!int, !!str), scalaires de bloc multilignes (| et >), séparateurs de documents (---). Ils couvrent moins de 5% du YAML réel. Pour ces cas, utilisez une bibliothèque YAML complète.
VPN sans journaux avec plus de 6 400 serveurs dans 111 pays. Threat Protection bloque pubs, traqueurs et logiciels malveillants.
Obtenir NordVPN →Hébergement cloud infogéré sur DigitalOcean, AWS ou GCE — serveur prêt en quelques minutes, sans administration système.
Essayer Cloudways →Des freelances en design, rédaction, développement et marketing dès 5 $ — avec avis et protection de l'acheteur.
Découvrir Fiverr →