Konvertera JSON till YAML
Konvertera JSON till YAML och YAML till JSON i webbläsaren, med stöd för ankare, merge-nycklar och filer med flera dokument. Inget laddas upp.
Så använder du konverteraren från JSON till YAML
- Välj riktning: JSON → YAML eller YAML → JSON.
- Klistra in dina data, eller klicka på Öppna en fil för att läsa in en
.json-,.yaml- eller.yml-fil (upp till 10 MB). - Välj Indrag (2 eller 4 mellanslag) och, om du vill, Sortera nycklar i alfabetisk ordning.
- Klicka på Konvertera, eller fortsätt bara att skriva: resultatet uppdateras automatiskt. Om indata är ogiltig anger felmeddelandet rad och kolumn för problemet.
- Kopiera eller ladda ner resultatet. Byt riktning skickar tillbaka resultatet till indata för att konvertera åt andra hållet.
JSON och YAML: samma data, olika syntax
I praktiken är YAML en övermängd av JSON: alla data som ett JSON-dokument beskriver kan uttryckas i YAML, och YAML lägger till en lättare syntax som är enklare för människor att läsa och redigera. Därför skrivs Kubernetes-manifest, Docker Compose-filer, GitHub Actions- och GitLab CI-pipelines, Ansible-playbooks och OpenAPI-specifikationer oftast i YAML, medan API:er och program utbyter JSON.
Samma data i båda formaten:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konverteraren skriver YAML i blockstil: en nyckel per rad, listor med bindestreck och nästlade objekt med indrag. Långa strängar viks aldrig, och strängar med flera rader använder den bokstavliga stilen | så att radbrytningarna behålls exakt. Strängar som YAML annars skulle läsa som en annan typ sätts inom citattecken: "yes", "1.0" eller "null" förblir strängar när du konverterar fram och tillbaka. Sortera nycklar ordnar nycklarna i varje objekt alfabetiskt, vilket gör två konfigurationsfiler lättare att jämföra.
YAML → JSON
YAML-koden läses med kärnschemat i YAML 1.2, samma regler som de flesta moderna verktyg använder:
true/false, tal ochnull(eller~) blir JSON-värden.yes,no,onochoffförblir strängar, som specifikationen för YAML 1.2 kräver.- Ankare och alias (
&base,*base) expanderas, och merge-nycklar (<<: *base), vanliga i CI-filer, stöds. - En fil med flera dokument åtskilda av
---blir en JSON-lista med ett element per dokument, och ett meddelande talar om hur många som slogs ihop. - Kommentarer tas bort, eftersom JSON inte har några kommentarer.
.infoch.nansaknar motsvarighet i JSON och skrivs som strängarna"Infinity"och"NaN".
För att skydda din webbläsare mot ”billion laughs”-filer, där några få alias expanderar till miljarder värden, avvisas dokument som expanderar till mer än en miljon värden.
Vanliga misstag i YAML
- Tabbar som indrag: YAML tillåter bara mellanslag.
- Inkonsekventa indrag: element i samma lista eller objekt måste börja i samma kolumn.
- Saknat mellanslag efter kolon:
key:valueär en enda sträng, medankey: valueär ett nyckel–värde-par. - Specialtecken utan citattecken: ett värde som börjar med
@, en bakåtfnutt,*,&eller!, eller som innehåller:eller#, måste stå inom citattecken.
Vanliga frågor
Skickas min fil till en server?
Nej. Konverteringen körs i din webbläsare, och dina konfigurationsfiler, hemligheter och API-data lämnar aldrig datorn.
Varför konverteras inte ”yes” och ”no” till booleska värden?
Sedan YAML 1.2 är bara true och false booleska värden. Äldre parsrar för YAML 1.1 behandlade yes, no, on och off som booleska, vilket orsakade det berömda ”Norgeproblemet” (landskoden NO lästes som false). Verktyget följer YAML 1.2.
Behålls kommentarer i YAML?
Nej. JSON har inga kommentarer, så de går förlorade i YAML → JSON. När du konverterar JSON → YAML kan du lägga till kommentarer i resultatet efteråt.
Kan jag konvertera en Kubernetes-fil med flera resurser?
Ja. Varje resurs åtskild av --- blir ett element i en JSON-lista. Konverterar du listan tillbaka till YAML får du ett enda dokument som innehåller en lista.
Ändrar konverteraren nycklarnas ordning?
Inte om du inte kryssar i Sortera nycklar: nycklarna behåller den ordning de har i din indata. Det enda undantaget kommer från JavaScript självt: nycklar som är heltal, som "10" eller "2", placeras först i stigande ordning.
Relaterade verktyg
- JSON-formaterare och validerare Gratis JSON-formaterare och validerare som snyggar till, minifierar och kontrollerar JSON i webbläsaren, med syntaxfel angivna med rad och kolumn.
- Konvertera JSON till CSV Konvertera JSON till CSV och CSV tillbaka till JSON i webbläsaren. Nästlade nycklar plattas ut till kolumner, avgränsare identifieras och inget laddas upp.
- Konvertera JSON till XML Konvertera JSON till XML och XML till JSON i webbläsaren, med hantering av attribut, upprepade element och CDATA. Inget laddas upp till en server.