YAML till JSON-konverterare
Klistra in YAML (Kubernetes-manifest, Docker Compose, CI-konfigurationer) och få ren JSON direkt. Fel visar exakt rad med en markör.
Körs i din webbläsareIngen registreringInget laddas upp
Så använder du YAML till JSON
- Klistra in YAML i vänster ruta eller öppna en
.yaml/.yml-fil. - JSON visas till höger medan du skriver. Välj 2 mellanslag, 4 mellanslag eller tabbar för utdata.
- Kryssa i Sortera nycklar för att ordna nycklarna alfabetiskt. Det underlättar när du jämför konfigurationer.
- Om YAML-koden är ogiltig visar statusfältet rad och kolumn, och de felaktiga raderna visas under den med en
^-markör. - Kopiera eller ladda ner JSON-koden, eller tryck på Byt för att konvertera tillbaka till YAML.
Hur YAML motsvaras i JSON
JSON är en delmängd av YAML 1.2, så varje YAML-mappning blir ett JSON-objekt, varje sekvens blir en array och skalärer blir strängar, tal, booleska värden eller null. Funktioner som bara finns i YAML hanteras vid konverteringen:
- Kommentarer (
# …) tas bort, eftersom JSON saknar kommentarer. - Ankare och alias (
&base,*base,<<: *base) expanderas till fullständiga kopior. - Tidsstämplar som
2024-01-02blir ISO 8601-strängar. - Flerradiga strängar (
|literal- och>folded-block) blir vanliga strängar med\n-escapes.
YAML med flera dokument
En enda fil kan innehålla flera YAML-dokument åtskilda av ---, vilket är vanligt i Kubernetes-manifest. JSON har ingen motsvarighet, så konverteraren returnerar en JSON-array med ett element per dokument och talar om det i statusfältet. En ensam avslutande --- ignoreras.
Fallgropar mellan YAML 1.1 och 1.2
Konverteraren följer YAML 1.2, den aktuella specifikationen. Många äldre verktyg (PyYAML, Rubys Psych, vissa versioner av Kubernetes och Ansible) läser fortfarande YAML 1.1, där reglerna skiljer sig:
- Norgeproblemet: i YAML 1.1 betyder
country: nofalse, så Norges landskodNOförsvinner. Detsamma gälleryes,on,off,yochn. YAML 1.2 behandlar baratrueochfalsesom booleska värden. - Oktala tal:
0755är oktalt i 1.1 men ett vanligt decimaltal i 1.2, som använder0o755. Citera filrättigheter för säkerhets skull. - Sexagesimala tal: i 1.1 kan
22:30tolkas som talet 1350. Citera tider och portmappningar som"8080:80".
Riktningen JSON → YAML citerar tvetydiga strängar ('no', 'on', 'y') automatiskt, så den YAML som skapas läses likadant i båda versionerna.
Vanliga frågor
Laddas min YAML upp någonstans?
Varför misslyckas min YAML med ”bad indentation”?
-) är konsekvent indenterade under sin föräldernyckel.Vad händer med YAML-kommentarer?
Varför förblev <code>no</code> en sträng?
true/false är booleska värden. Äldre YAML 1.1-parsers gör om no, yes, on och off till booleska värden (”Norgeproblemet”).Kan jag konvertera ett Kubernetes-manifest med flera resurser?
--- blir ett element i den utgående JSON-arrayen, redo för jq eller kubectl apply -f -, som också accepterar JSON-listor.