Konvertera JSON till YAML och YAML till JSON i din webbläsare
JSON och YAML beskriver samma typ av data — nästlade kartor, listor, strängar, tal och booleaner — men de ser mycket olika ut och används på olika ställen. Om du tillbringar någon tid nära API:er, containerfiler eller CI-pipelines behöver du förr eller senare göra om det ena till det andra. Den här sidan gör den konverteringen åt båda hållen, helt i din webbläsare, så datan du klistrar in lämnar aldrig din maskin.

Vad JSON är och var det används
JSON (JavaScript Object Notation) är ett strikt format med hakparenteser och klamrar byggt för maskiner först. Varje objekt omsluts av {}, varje array av [], nycklar och strängvärden dubbelciteras, och poster skiljs åt med kommatecken. Det är standardformatet för REST- och GraphQL-API:er, kroppen i de flesta webhooks, formen på NoSQL-dokument, och det din fetch-anrop returnerar. Nästan varje språk tolkar det direkt, vilket är precis varför det vann API-lagret: JSON.parse i JavaScript, json i Pythons standardbibliotek, och motsvarigheter överallt annars. Nackdelen är att JSON är omständligt att skriva för hand och förbjuder kommentarer, så det är ett dåligt format för filer en människa redigerar hela dagen.
Vad YAML är och var det används
YAML (YAML Ain't Markup Language) designades med motsatt prioritet: människor först. Det slopar klamrar och citattecken, använder indragning för att uttrycka nästling, och låter dig skriva kommentarer med #. Den läsbarheten är varför det blev konfigurationens gemensamma språk. Docker Compose-filer, Kubernetes-manifest, GitHub Actions- och GitLab CI-arbetsflöden, Ansible-playbooks och otaliga app-konfigurationsfiler är alla YAML. Ett typiskt YAML-dokument är märkbart kortare än motsvarande JSON och betydligt lättare att diffa i en pull request. Priset för den eleganstan är bräcklighet, vilket är där konvertering blir intressant.
De viktigaste skillnaderna
Tre skillnader driver nästan alla konverteringsbeslut. För det första är whitespace signifikant i YAML och betydelselöst i JSON. YAML använder mellanslag — aldrig tabbar — för att beteckna struktur, så ett enda feljusterat mellanslag kan tyst ändra betydelsen av ett dokument. JSON bryr sig inte alls om indragning. För det andra stöder YAML kommentarer och JSON gör inte det. Alla #-kommentarer i YAML försvinner helt enkelt när du producerar JSON, eftersom det inte finns någonstans att lägga dem. För det tredje har YAML rikare, implicit typning. Det läser gärna datum, tidsstämplar och null i flera stavningar, och det gissar typer från ociterade värden. JSON har en liten, explicit typuppsättning och ingen tvetydighet. Notera också att JSON tekniskt sett är en delmängd av YAML 1.2, vilket är varför giltig JSON vanligtvis tolkas rent som YAML, men det omvända är inte garanterat.

Konverteringsfällor att hålla utkik efter
Rundresor är inte alltid förlustfria, och det lönar sig att veta var saker går sönder:
- Norge-problemet. Enligt YAML 1.1-regler tolkas ociterat
NOsom booleanenfalse, ochyes,onochoffblir också booleaner. En landskod eller en switchetikett kan slå om tilltrue/falseinnan du märker det. Citera värden du menar som strängar. - Taltvång. En version som
3.10kan förlora sin efterföljande nolla och bli3.1, och1.0blir ett tal även när du ville ha text. Citera versionssträngar och ID:n. - Ankare och alias försvinner. YAML:s
&ankare- och*alias-referenser har ingen JSON-motsvarighet. En bra konverterare expanderar dem till sitt fulla värde, så datan blir korrekt men avdubbleringen är borta — JSON till YAML till JSON kommer inte återuppbygga de ursprungliga ankarna. - Kommentarer och blockskalärer. Kommentarer tappas bort vid övergång till JSON. Flerradiga blockskalärer (
|och>) kollapsar till vanliga JSON-strängar med\n-tecken, så den visuella formateringsavsikten går förlorad. - Indragning vid återgång till YAML. JSON kodar inte indragning, så konverteraren väljer en konsekvent stil. Granska den innan du klistrar in i ett tabbkänsligt verktyg.
Varför enbart lokalt spelar roll
Konfigurationsfiler och API-nyttolaster är precis den typen av saker som inte bör laddas upp till en slumpmässig server: de bär ofta värdnamn, tokens, interna tjänstnamn eller kunddata. Den här konverteraren kör tolknings- och genereringssteget i din webbläsare med JavaScript. Ingenting skickas till en backend, ingenting loggas, och verktyget fungerar offline när sidan väl har laddats. Klistra in en Kubernetes-hemlighet eller ett CI-arbetsflöde med förvissningen om att det stannar på din maskin.
Behöver du relaterade verktyg? Bläddra bland hela uppsättningen datakonverterare, städa upp rörig indata med JSON-formateraren, och kom tillbaka hit när du behöver röra dig mellan API-världen och konfigurationsvärlden.
Vanliga frågor
Laddas min data upp någonstans?
Nej. Konverteringen sker helt i din webbläsare med lokal JavaScript. Din JSON eller YAML skickas aldrig till en server, så hemligheter och konfigurationsfiler förblir privata.
Varför ändrades mitt YAML-värde true eller false oväntat?
YAML 1.1 behandlar ociterade ord som yes, no, on och off som booleaner — Norge-problemet. Omslut varje värde du menar som en sträng med citattecken så att det överlever konverteringen som text.
Vad händer med mina kommentarer när jag konverterar YAML till JSON?
JSON har ingen kommentarsyntax, så alla fyrkantskommentarer tas bort vid konvertering. Om du behöver bevara anteckningar, behåll din auktoritativa kopia i YAML.
Bevaras YAML-ankare och alias?
De expanderas till sina fulla värden eftersom JSON saknar referensmekanism. Datan förblir korrekt, men avdubbleringen kan inte återställas när du konverterar tillbaka till YAML.
Kan jag konvertera JSON till YAML lika väl som YAML till JSON?
Ja, verktyget fungerar i båda riktningarna. Klistra in JSON för att få YAML, eller klistra in YAML för att få JSON, och konverteraren identifierar och genererar det andra formatet.
Varför går YAML sönder när jag använder tabbar?
YAML kräver mellanslag för indragning och avvisar tabbar. Om en inklistring inte går att tolka, ersätt tabbtecken med mellanslag och håll indragningen konsekvent.
