acento.io
Udviklerværktøj

JSON ↔ YAML konverter

Skift mellem JSON og YAML på et sekund — alt kører i din browser, ingen data sendes nogen steder.

Af Carlos Suárez , Systemingeniør
Sidst opdateret:

Hvad dette JSON-YAML-konverter gør

Denne danske version af JSON-YAML-konverteren lader dig skifte frit mellem de to mest udbredte konfigurationsformater — json to yaml og yaml to json — uden at installere noget. Konverteringen sker med js-yaml direkte i din browser: 100 % klient-side — dine data forlader aldrig din browser. Ingen upload, ingen sporing, ingen serverlogfiler. Tal forbliver tal, booleans forbliver booleans, og indlejrede arrays og maps bevares nøjagtigt. Værktøjet er ærligt om begrænsningerne: YAML-kommentarer forsvinder, når du konverterer til JSON, fordi JSON-formatet ikke understøtter kommentarer. YAML-anchors og aliases bliver udfoldet i JSON-outputtet. Og pas på YAML 1.1-faldgruben: no og off tolkes som booleans i 1.1, men som strenge i YAML 1.2. Konverteren advarer dig, hvis dit input indeholder kommentarer. Har du brug for at se dit JSON pænt indrykket efterfølgende, kan vores [JSON formatter](/da/json-formatter/) hjælpe.

Funktioner

  • Tovejskonvertering. Skift med ét klik mellem JSON → YAML og YAML → JSON. Swap-knappen vender input og output, så du kan runde-tripse uden at kopiere manuelt.
  • Typesikker parsing. Tal, booleans, null og strenge bevarer deres type. true i YAML bliver ikke til strengen "true" i JSON — det forbliver en boolean.
  • Ærlig fejlrapportering. Ugyldigt JSON eller YAML viser en parser-fejl med linjenummer med det samme. Ingen stille fejl, ingen tomme outputs.
  • Kommentar-advarsel. Registrerer #-kommentarer i YAML-input og advarer tydeligt om, at de droppes i JSON-output — JSON har simpelthen ingen kommentarsyntaks.
  • Anchor/alias-udfoldning. YAML-anchors (&) og aliases (*) er praktiske, men JSON kender dem ikke. Konverteren udfolder dem automatisk og dokumenterer adfærden, så du ikke overraskes.
  • Ingen afhængigheder på serveren. Alt kører med MDN — crypto.getRandomValues-API'et og js-yaml i din browser. Digitaliseringsstyrelsen kræver eksplicit UTF-8-angivelse for offentlige danske sites — konverteren håndterer UTF-8 korrekt i begge retninger.

Sådan bruger du JSON-YAML-konverter

Indsæt dit JSON eller YAML i venstre felt, vælg retning, og output vises med det samme i højre felt.

  1. Indsæt dit input. Kopiér dit JSON- eller YAML-indhold ind i inputfeltet. Eksempel på gyldigt YAML-input: name: acento\nversion: 2.
  2. Vælg konverteringsretning. Klik på 'JSON → YAML' eller 'YAML → JSON' alt efter hvad du har brug for. Outputtet opdateres øjeblikkeligt.
  3. Brug swap-knappen. Klik '↻ Skift retning' for at vende om — outputtet ryger ind som nyt input, og retningen flippes automatisk.
  4. Kopiér resultatet. Klik 'Kopiér' for at kopiere outputtet til udklipsholderen. Knappen viser 'Kopieret' kortvarigt som bekræftelse.

Typiske anvendelser

  • Kubernetes manifester. Kubernetes-manifester skrives typisk i YAML af mennesker, men Kubernetes API'et accepterer JSON. Konverter hurtigt et manifest for at indsende det via kubectl med rå JSON eller for at sammenligne med en API-respons.
  • CI/CD-konfiguration. GitHub Actions- og GitLab CI-filer er YAML. Konvertér dem til JSON for at validere dem med JSON Schema-værktøjer eller for at inspicere dem med et [Json To Typescript](/da/json-to-typescript/) workflow, der forventer JSON-input.
  • Systemintegration. Nogle systemer eksporterer JSON, andre forventer YAML — f.eks. Helm charts versus REST APIs. Brug konverteren som hurtigt limlag mellem de to verdener.
  • Øjeblikkelig syntaksvalidering. Indsæt mistænkelig YAML eller JSON: en parser-fejl med linjenummer viser præcis, hvor syntaksen bryder sammen. Hurtigere end at starte en lokal parser.
  • Migrering af konfigurationsfiler. Når et projekt skifter fra JSON-baseret konfiguration (f.eks. .eslintrc.json) til YAML (.eslintrc.yml), konverterer værktøjet indholdet med bevaret struktur og typer.

Ofte stillede spørgsmål

Bliver mine data gemt eller logget nogen steder?

Nej. Konverteringen sker udelukkende i din browser via js-yaml. Intet sendes til en server, intet gemmes, ingen cookies sættes. Dine konfigurationsfiler — uanset om de indeholder API-nøgler eller interne hostnavne — forlader aldrig din maskine.

Hvorfor forsvinder mine YAML-kommentarer efter konvertering?

JSON-formatet har simpelthen ingen kommentarsyntaks. Når YAML parses og serialiseres som JSON, er der ingen plads til at gemme kommentarerne — de tabes uigenkaldeligt. Konverteren advarer dig, hvis den registrerer #-kommentarer i dit input, så du ikke overraskes. Vil du bevare kommentarer, bør du beholde YAML som kildefilen og kun konvertere til JSON ved behov.

Hvad sker der med YAML anchors og aliases?

Anchors (&navn) og aliases (*navn) er YAML-specifikke genveje til at genbruge noder. JSON har ingen tilsvarende mekanisme, så konverteren udfolder dem — hvert alias erstattes af en fuld kopi af den ankrede værdi. Det medfører, at outputtet kan være større end inputtet.

Er `yes`, `no` og `off` booleans i YAML?

Det afhænger af YAML-versionen. I YAML 1.1 (brugt af mange ældre biblioteker, herunder PyYAML som standard) er yes, no, on og off booleans. I YAML 1.2 er de almindelige strenge. js-yaml følger YAML 1.2-semantikken, så no fortolkes som strengen "no", ikke false. Vær opmærksom, hvis du kommer fra et system, der bruger 1.1.

Kan jeg konvertere YAML med faner (tabs) som indrykning?

Nej — YAML-specifikationen forbyder tabs som indrykningskarakter. Kun mellemrum er gyldige. Hvis dit input bruger tabs, viser parseren en fejl med det pågældende linjenummer. Erstat tabs med mellemrum (typisk 2) og prøv igen.

Hvad er forskellen på JSON og YAML i praksis?

YAML er et supersæt af JSON: gyldigt JSON er også gyldigt YAML, men ikke omvendt. YAML er mere læsbart for mennesker (ingen anførselstegn om strenge, understøtter kommentarer), mens JSON er mere universelt understøttet i APIs og programmeringssprog. Se FIPS 180-4 SHA-2 for et eksempel på, hvordan standardorganer foretrækker JSON til maskinudveksling af kryptografiske parametre.