Gå til hovedindhold

Gratis YAML til JSON-konverter

Konverter YAML til JSON og JSON til YAML i begge retninger. Indsæt i et af formaterne og få det konverterede output øjeblikkeligt — ingen serverupload krævet.

Virker offline, når den er indlæst
JSON-output
Output vises her…

Almindelige anvendelser

  • Konverter YAML til JSON til Kubernetes-manifesterKonverter Kubernetes YAML til JSON (eller tilbage) til værktøjer, valideringsscrips eller anvend via API direkte.
  • Docker Compose YAML / JSON-konverteringKonverter docker-compose.yml til JSON til inspektion eller tilbage til YAML efter programmatiske ændringer.
  • CI/CD-rørledningskonfigurationskonverteringKonverter GitHub Actions, GitLab CI, CircleCI og anden rørledningskonfiguration mellem YAML- og JSON-formater.
  • Applikationskonfigurationsfil-konverteringKonverter appkonfigfiler mellem YAML og JSON — nyttigt ved brug af frameworks eller deling af configs på tværs af værktøjer.
  • OpenAPI / Swagger specifikationskonverteringKonverter OpenAPI 3.x eller Swagger 2.0 API-specifikationer mellem YAML og JSON. Begge formater er gyldige og udskiftelige.

Sådan fungerer det

Begge konverteringsretninger — YAML til JSON og JSON til YAML — kører udelukkende i din browser med en håndskrevet parser og emitter indbygget i siden, uden tredjeparts YAML-bibliotek og uden nogen server. Logikken ligger i ét TypeScript-modul (lib/yamljson.ts), der håndterer mappings, sekvenser, skalarer, citerede strenge og fjernelse af inline-kommentarer.

  1. 1
    Inputtet forbehandles linje for linje
    For YAML-input deler parseren teksten i linjer, fjerner inline-kommentarer (og holder styr på anførselstegn for ikke at fjerne # inde i strenge), måler indrykningsdybden og kasserer tomme linjer — så der bygges en struktureret tokenliste, før fortolkningen begynder.
  2. 2
    En rekursiv descent-parser bygger datatræet
    Parseren gennemgår tokenlisten og bruger indrykningsniveauet til at bestemme strukturen. Den genkender sekvenselementer (- value), mapping-nøgler (key: value) og indlejrede blokke. Skalarer går gennem en typekonvertering, der håndterer null, booleans, heltal (afviser værdier med foranstillede nuller som 007 for at undgå tavs datakorruption) og kommatal — med en valgfri tilstand, der beholder YAML 1.1-ord som yes, no, on og off som strenge i stedet for at omdanne dem til booleans.
  3. 3
    YAML-funktioner, der ikke understøttes, markeres i stedet for stille at blive udeladt
    Før output udsendes, gennemsøger værktøjet teksten for ankre (&name), aliasser (*name), merge-nøgler (<<:), blokskalarer (| og >), markører for flere dokumenter (---) og dublerede mapping-nøgler. Hver af disse udløser en synlig advarsel i stedet for at give subtilt forkert JSON.
  4. 4
    JSON serialiseres eller YAML udsendes og gøres tilgængelig
    Ved YAML→JSON gives den fortolkede værdi til JSON.stringify med din valgte indrykning (2 mellemrum, 4 mellemrum, tabulator eller minificeret). Ved JSON→YAML gennemgår en egen emitter den fortolkede JavaScript-værdi og laver indrykket YAML, hvor strengskalarer kun citeres, når det er nødvendigt (f.eks. værdier, der indeholder :, # eller ligner reserverede ord). Outputtet vises øjeblikkeligt, mens du skriver, og kan kopieres eller downloades.

Relaterede værktøjer

Ofte stillede spørgsmål