JSON (JavaScript Object Notation) est un format d'échange de données léger qui utilise des accolades, crochets et clés entre guillemets doubles pour sa structure. YAML (YAML Ain't Markup Language) est un surensemble de JSON basé sur l'indentation, conçu pour la lisibilité humaine, largement utilisé dans les fichiers de configuration Docker Compose, Kubernetes, GitHub Actions et les pipelines CI/CD. La conversion entre JSON et YAML est l'une des tâches les plus fréquentes dans les workflows DevOps et de développement web modernes.
JSON vs YAML : différences clés
| Caractéristique | JSON | YAML |
|---|---|---|
| Syntaxe | Accolades, crochets, guillemets | Basée sur l'indentation |
| Lisibilité | Moyenne | Élevée |
| Commentaires | Non supportés | Supportés (#) |
| Types de données | String, nombre, bool, null, tableau, objet | Idem + dates, binaire, personnalisé |
| Usage courant | APIs, échange de données | Config (K8s, Docker, CI/CD) |
| Extensions | .json | .yml, .yaml |
Pièges courants de conversion
- Indentation : YAML utilise des espaces (jamais des tabulations) pour l'imbrication. Un espace mal placé casse la structure.
- Coercition de type : YAML interprète automatiquement des valeurs comme
yes,no,true,on,offcomme booléens. Mettez-les entre guillemets si vous voulez des chaînes. - Commentaires perdus : JSON ne supporte pas les commentaires. Convertir du YAML avec commentaires en JSON puis inversement les fera disparaître.
- Ordre des clés : Les objets JSON et les mappings YAML sont techniquement non ordonnés. Certains parseurs peuvent réorganiser les clés.
Besoin de formater ou valider votre JSON ? Essayez notre formateur JSON.