Comment utiliser : JSON vers YAML
- Collez du JSON dans le volet JSON, ouvrez un fichier
.json, ou cliquez sur Charger un exemple. - Le volet YAML se met à jour instantanément. Choisissez une indentation YAML de 2 ou 4 espaces et, si vous le souhaitez, triez les clés ou mettez toutes les chaînes entre guillemets.
- Modifiez directement le YAML si vous le souhaitez : le volet JSON se met aussi à jour.
- Cliquez sur Copier ou Télécharger pour enregistrer
data.yaml.
À quoi sert un convertisseur JSON vers YAML ?
Il analyse un document JSON et restitue les mêmes données au format YAML. YAML 1.2 étant un sur-ensemble de JSON, chaque valeur JSON a un équivalent exact en YAML : les objets deviennent des mappings, les tableaux des séquences (- élément), et les chaînes, nombres, booléens et null conservent leur type. Le résultat est généralement 20 à 40 % plus court et bien plus facile à lire et à modifier à la main, raison pour laquelle YAML est le standard pour Kubernetes, Docker Compose, GitHub Actions, Ansible et les spécifications OpenAPI.
Exemple
Ce JSON :
{
"service": "api",
"replicas": 3,
"ports": [8080, 9090],
"env": {"LOG_LEVEL": "info"}
}
devient ce YAML :
service: api
replicas: 3
ports:
- 8080
- 9090
env:
LOG_LEVEL: info
Comment les chaînes sont mises entre guillemets
Le convertisseur (basé sur la bibliothèque très répandue js-yaml) n'ajoute des guillemets que lorsqu'ils sont nécessaires pour que la valeur reste une chaîne. Des valeurs comme "yes", "on", "123", "null" ou "2024-01-01" sont entre guillemets, car un yes sans guillemets serait lu comme un booléen par les analyseurs YAML 1.1 (le célèbre « problème norvégien », où le code pays NO devient false). Les chaînes contenant : , # ou des espaces en début de valeur sont également mises entre guillemets. Les chaînes multilignes sont écrites sous forme de scalaires en bloc littéral (|-) pour que les sauts de ligne restent lisibles. Activez Mettre toutes les chaînes entre guillemets si un outil en aval attend des chaînes systématiquement entre guillemets.
JSON et YAML en un coup d'œil
| JSON | YAML | |
|---|---|---|
| Commentaires | Non autorisés | # commentaire |
| Structure | Accolades et crochets | Indentation |
| Guillemets | Obligatoires pour les clés et les chaînes | Généralement facultatifs |
| Chaînes multilignes | Échappements \n | Scalaires en bloc | et > |
| Réutilisation | Aucune | Ancres & et alias * |
| Idéal pour | API, échange de données | Configuration éditée à la main |
Conseils pour les fichiers de configuration
En YAML, l'indentation doit utiliser des espaces, jamais des tabulations. Deux espaces est la convention pour Kubernetes et la plupart des systèmes d'intégration continue. Après la conversion, vous pouvez ajouter des commentaires pour expliquer les paramètres, ce que le JSON ne permet pas. Pour faire le chemin inverse, utilisez le convertisseur YAML vers JSON ; pour mettre d'abord le JSON en forme, passez-le dans le formateur JSON.
Aussi recherché comme : convertir json en yaml, convertisseur json yaml, json2yaml, json en yml, générateur yaml kubernetes.
Outils complémentaires : JSON vers YAML
- JSON vers CSV — Transformez un tableau JSON en CSV prêt à être ouvert dans un tableur.
- JSON vers TypeScript — Collez un exemple JSON, comme une réponse d’API ou un fichier de configuration, et obtenez des interfaces TypeScript prêtes à l’emploi, avec types imbriqués, propriétés optionnelles et types union.
- Validateur JSON Schema — Collez un schéma et du JSON pour voir précisément quelles valeurs enfreignent quelle règle, ou générez un schéma de départ à partir de données d'exemple.
- Testeur JSONPath — Saisissez une requête JSONPath et voyez immédiatement ce qu'elle sélectionne, avec le chemin exact de chaque résultat.
Questions fréquentes
YAML est-il un sur-ensemble de JSON ?
Pourquoi certaines de mes chaînes sont-elles entre guillemets dans le YAML généré ?
"yes", "off", "0123" ou "1.0" seraient interprétées comme des booléens ou des nombres si elles n'étaient pas entre guillemets. Elles sont donc mises entre guillemets pour rester des chaînes.Puis-je convertir du JSON en YAML pour Kubernetes ?
kubectl get … -o json et vous obtenez du YAML que vous pouvez enregistrer comme manifeste. Supprimez les champs générés par le serveur, comme status, uid et resourceVersion, avant de l'appliquer à nouveau.