Vés al contingut principal

Convertidor YAML a JSON de franc

Converteix YAML a JSON i JSON a YAML en ambdues direccions. Enganxa en qualsevol format i obtén la sortida convertida instantàniament — sense pujada al servidor.

Funciona sense connexió un cop carregat
Sortida JSON
La sortida apareixerà aquí…

Usos habituals

  • Convertir YAML a JSON per a manifests de KubernetesConvertiu YAML de Kubernetes a JSON (o viceversa) per a eines, scripts de validació o aplicació directa a través de l'API.
  • Docker Compose conversió YAML / JSONConvertiu docker-compose.yml a JSON per a la inspecció o de tornada a YAML després de les edicions programatiques.
  • Conversió de configuració de canonada CI/CDConvertiu accions GitHub, GitLab CI, CircleCI i altres configuracions de canonada entre formats YAML i JSON.
  • Conversió de fitxer de configuració d'aplicacióConvertiu fitxers de configuració d'aplicació entre YAML i JSON — útil quan es canvien frameworks o es comparteixen configuracions entre eines.
  • Conversió de especificació OpenAPI / SwaggerConvertiu especificacions d'API OpenAPI 3.x o Swagger 2.0 entre formats YAML i JSON. Ambdós formats són vàlids i intercanviables.

Com funciona

Ambdues direccions de conversió — YAML a JSON i JSON a YAML — s'executen completament al teu navegador utilitzant un analitzador i emissor escrits a mà integrats a la pàgina, sense cap biblioteca de YAML de tercers i sense cap servidor implicat. La lògica viu en un únic mòdul de TypeScript (lib/yamljson.ts) que gestiona mapatges, seqüències, escalars, cadenes entre cometes, i eliminació de comentaris en línia.

  1. 1
    L'entrada es preprocessa línia per línia
    Per a l'entrada YAML, l'analitzador divideix el text en línies, elimina els comentaris en línia (seguint l'estat de cometes per evitar eliminar # dins de cadenes), mesura la profunditat de sagnat, i descarta les línies buides — construint una llista estructurada de tokens abans que comenci cap anàlisi.
  2. 2
    Un analitzador de descens recursiu construeix l'arbre de dades
    L'analitzador recorre la llista de tokens utilitzant el nivell de sagnat per determinar l'estructura. Reconeix elements de seqüència (- valor), claus de mapatge (clau: valor), i blocs niats. Els escalars passen per un pas de coerció tipada que gestiona null, booleans, enters (rebutjant valors amb zero inicial com 007 per evitar corrompre silenciosament les dades), i decimals — amb un mode opcional que manté paraules nues de YAML 1.1 com yes, no, on, i off com a cadenes en lloc de convertir-les a booleans.
  3. 3
    Les característiques de YAML no admeses es marquen, no es descarten silenciosament
    Abans d'emetre la sortida, l'eina escaneja àncores (&nom), àlies (*nom), claus de fusió (<<:), escalars de bloc (| i >), marcadors de diversos documents (---), i claus de mapatge duplicades. Qualsevol d'aquests dispara un avís visible en lloc de produir un JSON subtilment incorrecte.
  4. 4
    El JSON es serialitza o el YAML s'emet, i després es fa disponible
    Per a YAML→JSON, el valor analitzat es passa a JSON.stringify amb el sagnat triat (2 espais, 4 espais, tabulador, o minificat). Per a JSON→YAML, un emissor personalitzat recorre el valor JavaScript analitzat i produeix YAML amb sagnat, entrecometant escalars de cadena només quan cal (per exemple, valors que contenen :, #, o semblen paraules reservades). La sortida apareix a l'instant mentre escrius i es pot copiar o descarregar.

Eines relacionades

Preguntes freqüents