YAML a JSON

Aquest convertidor gratuït fa servir la llibreria js-yaml per transformar YAML en objectes JSON estàndard. Els mapping i les llistes de YAML es converteixen automàticament en objectes i matrius JSON, i pots activar o desactivar la sortida pretty. La funció integrada tryFixYAML també corregeix 5 problemes habituals: tabulacions, cometes sense tancar, indentació incorrecta, format de claus i espais finals de línia.

Relacionats

Per què convertir YAML a JSON

YAML és molt útil per a fitxers de configuració llegibles per humans, per això s'utilitza tant a Kubernetes, Docker Compose, Ansible i GitHub Actions. JSON, en canvi, és més pràctic per a API, JavaScript i processament programàtic de dades. Aquesta eina serveix per transformar ràpidament configuracions YAML en JSON estàndard.

La conversió es basa en js-yaml: primer es llegeix l'estructura YAML com a objecte JavaScript i després es serialitza a JSON. Els mapping de YAML es converteixen en objectes JSON, les llistes en matrius, i les cadenes, nombres, booleans i null es mantenen en tipus equivalents.

El mode pretty genera JSON amb indentació de 2 espais i és més còmode de llegir. El mode compacte produeix JSON en una sola línia, adequat per a API, transmissió i emmagatzematge.

En fitxers YAML reals són habituals els tabuladors, les cometes sense tancar, la indentació inconsistent i alguns noms de clau problemàtics. El tryFixYAML integrat pot corregir automàticament 5 d'aquests errors més comuns directament al navegador.

Casos d'ús

  • Convertir manifestos de Kubernetes o Helm values.yaml a JSON per fer servir jq, validació o CI/CD
  • Passar docker-compose.yml a JSON per integrar-lo amb altres eines o APIs
  • Comparar i processar workflows YAML de GitHub Actions o GitLab CI en format JSON
  • Transformar playbooks d'Ansible o fitxers de monitoratge a JSON per tractar-los amb codi
  • Convertir especificacions OpenAPI / Swagger de YAML a JSON per a generadors de codi
  • Aprendre o explicar les diferències de sintaxi i de tipus entre YAML i JSON

Com usar-ho

  1. Enganxa el YAML al panell esquerre o puja un fitxer .yaml / .yml / .txt
  2. Al cap de 400 ms l'eina mostrarà automàticament el JSON al panell dret
  3. Si cal, canvia entre la sortida pretty i la sortida compacta
  4. Si hi ha errors, fes servir el botó de reparació d'estructura per corregir problemes habituals de YAML
  5. Copia el resultat o descarrega'l com a converted.json

Característiques

  • Analitza YAML amb js-yaml i admet mapping, llistes, estructures niades, cadenes multilínia, anchors i aliases
  • Corregeix automàticament 5 errors YAML freqüents: tabulacions, cometes sense tancar, indentació irregular, claus especials i espais finals
  • Ofereix sortida pretty amb indentació de 2 espais i JSON compacte en una sola línia
  • Converteix recursivament estructures YAML niades en objectes i matrius JSON
  • Ignora els comentaris YAML, de manera que el resultat és només dades JSON netes
  • Executa la conversió automàtica 400 ms després de deixar d'escriure per veure el resultat ràpidament
  • Mostra JSON amb ressaltat de sintaxi per facilitar la lectura d'estructures complexes
  • Permet pujar fitxers, copiar, descarregar i restaurar historial dins del navegador
  • Tot el processament es fa localment i la configuració no s'envia al servidor

Preguntes freqients

Com es converteix YAML a JSON?

Enganxa el YAML al panell esquerre o puja un fitxer .yaml / .yml / .txt. L'eina utilitza js-yaml per analitzar el contingut i convertir-lo automàticament en JSON estàndard. Els mapping de YAML es converteixen en objectes JSON i les llistes en matrius JSON. La conversió s'executa automàticament uns 400 ms després de deixar d'escriure.

Es conserven els comentaris YAML dins del JSON?

No. Els comentaris YAML que comencen amb # només serveixen per a la lectura humana i s'ignoren durant el procés d'anàlisi. El JSON resultant només conté dades pures. Si necessites conservar comentaris, desa el YAML original o afegeix explícitament un camp comment al JSON.

L'eina pot corregir errors d'indentació o cometes sense tancar a YAML?

Sí. El tryFixYAML integrat pot corregir automàticament 5 problemes habituals: tabulacions, cometes sense tancar, indentació irregular, noms de claus especials i espais finals de línia. Tot i això, si l'estructura YAML està molt malmesa, encara pot caldre una revisió manual.

Solució de problemes

Error en analitzar YAML

Les causes més habituals són tabuladors barrejats amb espais, indentació trencada, cometes sense tancar o dos punts absents. Prova primer la reparació automàtica de l'estructura.

Els comentaris no apareixen al JSON

JSON no admet comentaris, així que les línies amb # de YAML s'eliminen durant la conversió. Si els necessites, guarda'ls per separat.

Han desaparegut anchors i aliases

js-yaml expandeix les referències abans de convertir a JSON. Per això al resultat només hi queda la dada desplegada, no la sintaxi de referència.

La data s'ha convertit en cadena

Encara que YAML reconegui dates, JSON les escriu com a cadenes ISO perquè JSON no té un tipus Date natiu.

Com tractar YAML amb múltiples documents

Aquesta eina està pensada sobretot per a un document YAML alhora. Si hi ha blocs separats per ---, és millor convertir-los per separat.

Glossari

YAML
Format de serialització de dades pensat per ser llegible per humans i molt utilitzat en fitxers de configuració DevOps.
JSON
JavaScript Object Notation, format estàndard de dades per a API i aplicacions web.
js-yaml
Biblioteca popular de JavaScript per analitzar YAML i convertir-lo en objectes JavaScript.
Indentation
Indentació de YAML que marca la jerarquia de les dades. Normalment s'usen espais, no tabuladors.
Anchor
Sintaxi &name de YAML per definir un valor reutilitzable.
Alias
Sintaxi *name de YAML per referenciar un anchor ja definit.
Pretty Output
Mode de sortida JSON amb salts de línia i indentació per facilitar la lectura.
tryFixYAML
Funció integrada que corregeix automàticament errors YAML habituals abans de convertir.

Mapatge de tipus YAML a JSON

Les estructures bàsiques de YAML es converteixen en JSON així.

Tipus YAMLExemple YAMLSortida JSONRegla
stringname: Alice"name": "Alice"La cadena es manté com a cadena JSON.
numberage: 30"age": 30El nombre es manté com a nombre JSON.
booleanenabled: true"enabled": truetrue / false es converteixen en booleans JSON.
sequence- a - b["a", "b"]La llista YAML es converteix en matriu JSON.
mappinguser: name: Alice{"user": {"name": "Alice"}}El mapping YAML es converteix en objecte JSON.

Comparació entre YAML i JSON

Tots dos formats representen dades, però són diferents en llegibilitat i ús habitual.

AspecteYAMLJSONNota
LlegibilitataltamitjanaYAML va molt bé per a configuracions llegides per humans.
Comentaris# suportatsense suportJSON estàndard no inclou comentaris.
Matrius- item[item]YAML usa guions i JSON claudàtors.
Ús principalconfiguracióAPI / dadesYAML és comú en config, JSON en intercanvi de dades.

Errors YAML que es poden corregir automàticament

tryFixYAML pot arreglar alguns problemes habituals.

Tipus d'errorExempleDesprés de corregirDescripció
Tabuladorskey: valuekey: valueEls tabuladors es converteixen en espais.
Cometes sense tancarkey: 'valuekey: 'value'S'afegeixen les cometes que falten.
Espais finalskey: value key: valueS'eliminen espais sobrants.
Indentació incorrecta key: valuekey: valueLa indentació es normalitza.

Privacy & Security

Aquesta eina de YAML a JSON executa l'anàlisi de YAML, la serialització de JSON i la correcció d'errors completament amb JavaScript dins del navegador. El YAML introduït i el JSON generat no s'envien a cap servidor. Això et permet processar configuracions sensibles, com secrets de Kubernetes, claus d'API o credencials de bases de dades, de manera local i més segura.

Authoritative References