JSON to YAML

Konvertera JSON till YAML-format

Prova ett exempel

JSON-inmatning

YAML-utmatning

Körs lokalt · Säkert att klistra in hemligheter
YAML visas här…

Vad är JSON till YAML-konvertering?

JSON till YAML-konvertering omvandlar data från JavaScript Object Notation till YAML Ain't Markup Language. Båda formaten representerar samma datastrukturer (objekt, arrayer, strängar, tal, booleska värden, null), men de använder olika syntax. JSON förlitar sig på klammerparenteser, hakparenteser och kommatecken. YAML använder indragning och radbrytningar, vilket ger utdata som liknar vanlig text mer. Till skillnad från XML kräver inget av formaten ett schema.

YAML designades som ett människo-vänligt format för dataserialisering. Det är standardkonfigurationsspråket för Kubernetes-manifest, Docker Compose-filer, Ansible-spelböcker, GitHub Actions-arbetsflöden och många CI/CD-system. När källdata finns i JSON men målsystemet förväntar sig YAML behöver du en konverterare som tillförlitligt bevarar varje värde, typ och nästlingsnivå utan dataförlust.

Att konvertera JSON till YAML online är användbart när du tar emot API-svar eller exporterad data i JSON och behöver klistra in dem i en YAML-konfigurationsfil. Konverteringen är förlustfri för alla standardtyper i JSON: strängar, tal, booleska värden, null, arrayer och objekt mappas direkt till sina YAML-motsvarigheter. Värden som innehåller kolon eller specialtecken citeras automatiskt så att utdata är giltig YAML.

Varför konvertera JSON till YAML?

YAML är standard för konfigurationsfiler; JSON är vad API:er returnerar. Att konvertera mellan dem låter dig använda rätt format för varje uppgift utan att skriva om data för hand.

Omedelbar konvertering
Klistra in JSON och få YAML-utdata direkt. Ingen väntan på serverbearbetning, inga filuppladdningar, inga begränsningar.
🔒
Integritetsfokuserad bearbetning
Din data lämnar aldrig webbläsaren. Konverteringen körs helt i JavaScript på din enhet, så inloggningsuppgifter, token och API-nycklar förblir privata.
🔀
Hanterar alla JSON-strukturer
Djupt nästlade objekt, stora arrayer, blandade typer, Unicode-strängar och specialtecken konverteras korrekt. Verktyget bevarar hela datastrukturen.
📋
Inget konto eller installation krävs
Öppna sidan och börja konvertera. Ingen registrering, inget tillägg, inget CLI-verktyg att installera. Fungerar på alla enheter med en webbläsare.

Användningsfall för JSON till YAML

Kubernetes och Docker Compose
API-svar och exporterade konfigurationer anländer ofta som JSON. Konvertera dem till YAML för direkt användning i Kubernetes-manifest, Helm-diagram och Docker Compose-filer.
CI/CD-pipelinekonfiguration
GitHub Actions, GitLab CI, CircleCI och Azure Pipelines använder alla YAML. När du genererar pipelinekonfigurationer programmatiskt från JSON, konvertera utdata innan du checkar in.
Ansible-spelböcker
Ansible förväntar sig YAML för spelböcker och inventeringsfiler. Konvertera JSON-inventeringsexporter från moln-API:er till det YAML-format som Ansible kräver.
Inspektion av API-svar
REST API:er returnerar JSON. Att konvertera ett nästlat svar till YAML gör datahierarkin synlig på en gång, vilket är snabbare att skanna än parentestung JSON.
Migrering av konfigurationsfiler
När du migrerar ett program från JSON-baserad konfiguration (t.ex. tsconfig.json, package.json-exporter) till YAML-baserade verktyg, masskonvertera värdena istället för att skriva om dem.
Lärande och dokumentation
Studenter och tekniska skribenter använder JSON/YAML sida vid sida för att förstå hur datastrukturer mappas mellan format. Konverteraren ger omedelbara och korrekta exempel.

Jämförelse: JSON vs YAML

JSON och YAML kan representera samma data, men deras syntax och möjligheter skiljer sig åt på sätt som spelar roll för specifika användningsfall.

FunktionJSONYAML
SyntaxCurly braces, square brackets, colons, commasIndentation-based, colons, dashes
ReadabilityModerate — nested brackets become denseHigh — visual hierarchy from indentation
CommentsNot allowed (RFC 8259)Supported with #
Multi-line stringsEscape sequences only (\n)Block scalars with | or >
Data typesstring, number, boolean, null, object, arraySame plus date, timestamp, binary
File sizeSlightly larger (brackets + quotes)Slightly smaller (no brackets)
Trailing commasNot allowedNot applicable (no commas)
SpecRFC 8259 / ECMA-404YAML 1.2 (yaml.org)

YAML-fallgropar efter konvertering

YAML har tolkningsregler som överraskar utvecklare som kommer från JSON. Dessa fyra problem orsakar flest buggar när man arbetar med konverterad utdata.

Ociterade yes/no blir booleska värden
YAML 1.1-tolkare behandlar nakna yes, no, on, off, true och false som booleska värden. Om din JSON har ett strängvärde "yes" eller "no" kan YAML-utdata förlora citattecknen och tolkas som ett booleskt värde av äldre verktyg. YAML 1.2 begränsar detta till enbart true/false.
Indragningsfel bryter tolkning
YAML använder indragning för att definiera struktur. Ett enda extra eller saknat mellanslag kan ändra betydelsen eller ge ett tolkningsfel. Till skillnad från JSON, där ett felplacerat kommatecken ger ett tydligt fel, kan YAML-indragningsmisstag tyst ändra din datahierarki.
Kolon i värden kräver citering
Ett kolon följt av ett mellanslag (": ") är YAML:s nyckel-värde-separator. Om din JSON-sträng innehåller den sekvensen (t.ex. "http://example.com") måste YAML-utdata citera värdet. De flesta konverterare hanterar detta automatiskt.
Flerdokumentfiler
YAML stöder flera dokument i en fil åtskilda av ---. JSON har ingen motsvarighet. När du konverterar en JSON-array av konfigurationer kan varje element bli ett separat YAML-dokument eller förbli som arrayelement. Ta reda på vilket format ditt målverktyg förväntar sig.

Kodexempel

Att konvertera JSON till YAML programmatiskt kräver ett YAML-serialiseringsbibliotek i de flesta språk. Standardbiblioteket hanterar JSON-tolkning; YAML-utdata behöver ett extra paket.

JavaScript (Node.js)
import YAML from 'js-yaml'

const json = '{"host":"localhost","port":3000,"debug":true}'
const obj = JSON.parse(json)
const yamlStr = YAML.dump(obj, { indent: 2 })
console.log(yamlStr)
// → host: localhost
// → port: 3000
// → debug: true
Python
import json, yaml

json_str = '{"host": "localhost", "port": 3000, "debug": true}'
data = json.loads(json_str)
yaml_str = yaml.dump(data, default_flow_style=False, sort_keys=False)
print(yaml_str)
# → host: localhost
# → port: 3000
# → debug: true
Go
package main

import (
    "encoding/json"
    "fmt"
    "gopkg.in/yaml.v3"
)

func main() {
    jsonStr := `{"host":"localhost","port":3000,"debug":true}`
    var data map[string]interface{}
    json.Unmarshal([]byte(jsonStr), &data)

    yamlBytes, _ := yaml.Marshal(data)
    fmt.Println(string(yamlBytes))
    // → debug: true
    // → host: localhost
    // → port: 3000
}
CLI (yq / jq + Python)
# Using yq (https://github.com/mikefarah/yq)
echo '{"host":"localhost","port":3000}' | yq -P
# → host: localhost
# → port: 3000

# Using Python one-liner
echo '{"host":"localhost","port":3000}' | python3 -c "import sys,json,yaml; print(yaml.dump(json.load(sys.stdin), default_flow_style=False))"

Vanliga frågor

Är JSON till YAML-konvertering förlustfri?
Ja, för alla standardtyper i JSON. Strängar, tal, booleska värden, null, arrayer och objekt har direkta YAML-motsvarigheter. Den konverterade YAML kan tolkas tillbaka för att producera identisk data. Den enda kosmetiska skillnaden är formattering: YAML använder indragning istället för klammerparenteser.
Kan YAML representera allt som JSON kan?
Ja. YAML är en överordnad mängd av JSON (fr.o.m. YAML 1.2). Varje giltig JSON-fil är också giltig YAML. YAML lägger till funktioner som JSON saknar: kommentarer, ankare/alias, flerradssträngar och ytterligare skalärtyper som datum.
Varför använder Kubernetes och Docker YAML istället för JSON?
YAML stöder kommentarer, vilket är viktigt för att dokumentera infrastrukturkonfiguration. Det är också mer läsbart för djupt nästlade strukturer eftersom indragning ersätter parentesbrus. Kubernetes accepterar faktiskt både JSON och YAML, men gemenskapen och all officiell dokumentation använder YAML.
Hur hanterar jag stora JSON-filer?
Den här konverteraren körs i din webbläsare och kan hantera filer upp till flera megabyte utan problem. För mycket stora filer (50 MB+) använd ett CLI-verktyg som yq eller ett Python-skript med PyYAML-biblioteket. Dessa bearbetar data som en ström och använder mindre minne.
Bevarar konverteraren nyckelordningen?
Ja. Konverteraren matar ut YAML-nycklar i samma ordning som de förekommer i JSON-inmatningen. JSON-objekt är tekniskt sett oordnade enligt specifikationen, men i praktiken bevarar tolkare insättningsordningen, och det här verktyget upprätthåller den ordningen i YAML-utdata.
Vilken YAML-version följer utdata?
Utdata följer YAML 1.2-konventioner. Det innebär att endast true och false behandlas som booleska literaler (inte yes/no/on/off). Strängar som kan feltolkas citeras automatiskt för att förhindra tvetydighet vid tolkning.
Är det säkert att klistra in API-nycklar och token i det här verktyget?
Ja. Konverteringen körs helt i din webbläsare med JavaScript. Ingen data överförs till någon server. Du kan verifiera detta genom att öppna webbläsarens nätverksinspektor och observera att inga förfrågningar görs under konverteringen.