YAML till JSON-konvertering omvandlar data skriven i YAML (YAML Ain't Markup Language) till JSON (JavaScript Object Notation). Båda formaten representerar strukturerad data som nyckel-värde-par, sekvenser och nästlade objekt, men de skiljer sig åt i syntax. YAML använder indragning och minimal interpunktion, medan JSON använder klammerparenteser, hakparenteser och obligatorisk citering. Att konvertera mellan de två är en vanlig uppgift när konfigurationsdata ska flyttas mellan system som förväntar sig olika format.
YAML designades för mänsklig läsbarhet. Det stöder kommentarer, flerradssträngar, ankare och alias — inget av detta finns i JSON. När du konverterar YAML till JSON löses dessa YAML-specifika funktioner upp: ankare expanderas inline, kommentarer kasseras och flerradsblockar blir escape-kodade strängar. Resultatet är giltig JSON som vilken JSON-tolk som helst kan läsa.
YAML 1.2-specifikationen definierar uttryckligen JSON som en delmängd av YAML, vilket innebär att varje giltig JSON-fil också är giltig YAML. Det omvända gäller inte. YAML-dokument som använder kommentarer, ankare eller komplexa nycklar har ingen direkt JSON-motsvarighet och måste förenklas under konverteringen. Det här verktyget hanterar konverteringen automatiskt och producerar ren, välformaterad JSON från vilken giltig YAML-indata som helst.
Varför använda en online YAML till JSON-konverterare?
Att konvertera YAML till JSON för hand är felkänsligt, särskilt med djupt nästlade strukturer eller flerradsvärden. En webbläsarbaserad konverterare ger dig resultatet omedelbart och fångar YAML-syntaxfel innan de når din applikation.
⚡
Omedelbar konvertering i webbläsaren
Klistra in din YAML och få formaterad JSON-utdata på millisekunder. Inga CLI-verktyg att installera, inget byggsteg, inga beroenden att hantera.
🔀
Hanterar alla giltiga YAML-strukturer
Stöder nästlade avbildningar, sekvenser, flerradssträngar (literal- och foldade block), ankare, alias, sammanfogningsnycklar och alla skalärtyper i YAML 1.2.
🔒
Din data förblir privat
All tolkning körs lokalt i din webbläsare med JavaScript. Ditt YAML-innehåll skickas aldrig till en server, vilket gör det säkert för konfigurationsfiler som innehåller autentiseringsuppgifter eller interna sökvägar.
📋
Kopiera eller justera utdataformatet
Välj mellan 2 och 4 mellanslags indragning. Kopiera JSON-resultatet till urklipp med ett klick för direkt användning i kod, API-anrop eller konfigurationsfiler.
Användningsfall för YAML till JSON
Frontendutveckling
Konvertera YAML-konfigurationsfiler från ett designsystem eller CMS till JSON för användning av JavaScript-bundlers, REST API:er eller i18n-bibliotek som kräver JSON-indata.
Backendteknik
Omvandla Spring Boots application.yml eller Rails database.yml till JSON för att mata in i driftsättningsskript, API-gateways eller tjänster som enbart accepterar JSON-konfiguration.
DevOps och CI/CD
Konvertera docker-compose.yml, GitHub Actions-arbetsflöden eller Kubernetes-manifest till JSON för valideringsverktyg, policyramverk som OPA, eller felsökning med jq.
QA och testning
Omvandla YAML-testfixtures till JSON-nyttolaster för API-testverktyg som Postman, Insomnia eller automatiserade testsviter som förväntar sig JSON som indata.
Datateknik
Konvertera YAML-formaterade pipelinedefinitioner (Airflow, dbt, Dagster) till JSON för schemavalidering, programmatisk bearbetning eller integration med metadatakataloger.
Lärande och dokumentation
Se snabbt hur YAML-strukturer mappas till sina JSON-motsvarigheter när du studerar konfigurationsformat eller skriver dokumentation.
Typmappningsreferens: YAML till JSON
Varje YAML-datatyp mappas till en specifik JSON-typ under konverteringen. Tabellen nedan visar varje YAML-konstruktion tillsammans med dess JSON-utdata. Att förstå dessa mappningar hjälper dig förutsäga hur dina YAML-data kommer att se ut efter konverteringen och undvika överraskningar med typer som booleska värden eller null.
YAML-typ
YAML-syntax
JSON-utdata
Mapping
name: Alice
{ "name": "Alice" }
Sequence
- apple\n- banana
["apple", "banana"]
String
greeting: hello world
"hello world"
Integer
count: 42
42
Float
ratio: 3.14
3.14
Boolean
active: true
true
Null
value: null
null
Multiline (|)
bio: |\n Line one\n Line two
"Line one\nLine two\n"
Folded (>)
note: >\n A long\n paragraph
"A long paragraph\n"
Anchor/Alias
&default\n <<: *default
Resolved inline (no $ref)
YAML vs JSON: Syntaxskillnader
YAML och JSON representerar samma datamodell men med olika syntaxregler. Skillnaderna nedan förklarar varför vissa YAML-funktioner — som kommentarer och ankare — saknar JSON-motsvarighet.
YAML
Använder indragning för nästling (inga klammerparenteser). Stöder kommentarer med #. Strängar behöver vanligtvis inte citeras. Tillåter flerradsvärden med | (literal) och > (foldat) blockskalar. Stöder ankare (&namn) och alias (*namn) för återanvändning. I YAML 1.2 är det bara true och false som tolkas som booleska värden; äldre YAML 1.1-tolkare accepterade även yes, no, on och off, men dessa behandlas som vanliga strängar i YAML 1.2.
JSON
Använder klammerparenteser och hakparenteser för nästling. Ingen kommentarsyntax. Alla strängar måste dubbelciteras. Inga flerradssträngar — använd \n som escape-sekvens istället. Ingen ankar- eller aliasmekanism. Booleska värden är strikt lowercase true och false. Alla nycklar måste vara citerade strängar. Avslutande kommatecken är ogiltiga.
Kodexempel
Nedan visas fungerande exempel för att konvertera YAML till JSON programmatiskt. Varje exempel tolkar en YAML-sträng och matar ut formaterad JSON.
# Convert a YAML file to JSON with yq
yq -o=json config.yaml > config.json
# Pipe YAML into yq for one-off conversion
echo "name: demo" | yq -o=json
# → { "name": "demo" }
# Python one-liner (no extra install on most systems)
python3 -c "import yaml, json, sys; print(json.dumps(yaml.safe_load(sys.stdin), indent=2))" < config.yaml
Vanliga frågor
Är YAML en överordnad mängd av JSON?
Ja, från och med YAML 1.2 (publicerad 2009). Varje giltig JSON-fil är också giltig YAML. YAML-specifikationen uppdaterades avsiktligt för att säkerställa full JSON-kompatibilitet. Det omvända gäller dock inte — YAML-funktioner som kommentarer, ankare och ociterade nycklar saknar JSON-motsvarighet.
Vad händer med YAML-kommentarer under konverteringen?
Kommentarer kasseras. JSON har ingen kommentarsyntax, så rader som börjar med # i din YAML-indata försvinner under konverteringen. Om du behöver bevara kommentarer, behåll den ursprungliga YAML-filen som källa och generera JSON från den vid behov.
Hur hanteras YAML-ankare och alias?
Ankare (&namn) och alias (*namn) löses upp under tolkningen. Aliaset ersätts med en fullständig kopia av den förankrade datan. Den resulterande JSON-koden innehåller inga referenser — alla värden är expanderade inline. Sammanfogningsnycklar (<<: *namn) löses upp på samma sätt.
Kan YAML till JSON-konvertering förlora data?
För datavärden, nej. Alla YAML-skalärtyper (strängar, tal, booleska värden, null) har direkta JSON-motsvarigheter. Det som förloras är: kommentarer, taggdirektiv, ankarnamn och skillnaden mellan block- och flödesstil. Om din YAML förlitar sig på anpassade taggar (!!python/object, !!timestamp) löses dessa till vanliga värden eller kan orsaka ett tolkningsfel beroende på tolkaren.
Varför blir mitt YAML-booleska värde 'yes' en sträng i JSON?
Det här verktyget använder js-yaml v4, som följer YAML 1.2:s booleska tolkning. Endast true och false (oavsett skiftläge) tolkas som booleska värden. Värden som yes, no, on och off behandlas som vanliga strängar och visas som citerade strängar i JSON-utdata. Om du ser oväntade strängvärden där du förväntade dig booleska, byt till true eller false i din YAML-källa.
Hur stor YAML-fil kan det här verktyget hantera?
Verktyget körs i din webbläsare, så gränsen beror på din enhets tillgängliga minne. I praktiken konverteras filer upp till flera megabyte utan problem. För mycket stora filer (50 MB+) är ett CLI-verktyg som yq eller ett Python-skript med PyYAML mer tillförlitligt eftersom de kan strömma data istället för att läsa in allt i minnet på en gång.
Hur konverteras YAML-flerradssträngar till JSON?
YAML har två stilar för flerradiga blockskalar. Literalblockar (|) bevarar radbrytningar som \n-tecken i JSON-strängen. Foldade block (>) ersätter enstaka radbrytningar med mellanslag och förvandlar flera rader till ett stycke. Båda stilarna lägger som standard till en avslutande radbrytning, vilket du kan ta bort med avskärningsindikatorn (|- eller >-).