UltKit

Konvertera YAML till JSON

Gör om YAML-konfiguration, OpenAPI-specifikationer och CI-filer till JSON som alla parsers, API:er och schemavaliderare kan läsa. Ladda upp .yaml- eller .yml-filer och ladda ner indragen JSON.

Datakonverterare

eller släpp CSV, TSV, TXT …-filer här ·

Max 95 MB per fil· Upp till 20 filer· Raderas efter 30 minuter

Utdata

Filerna bearbetas på våra servrar och raderas efter 30 minuter.

Så använder du verktyget

  1. 1

    Ladda upp YAML-filer

    Lägg till .yaml- eller .yml-filer, upp till 20 åt gången och 95 MB per fil. Originalnamnen behålls; JSON-filerna får samma namn med ny filändelse.

  2. 2

    Välj indragen eller kompakt

    Snygg formatering är aktiverad, vilket indenterar JSON-koden så att den går att läsa och granska. Stäng av den under Avancerade inställningar om du vill ha en fil på en enda rad att klistra in i en request body.

  3. 3

    Konvertera och använd

    Tryck på Konvertera till JSON, ladda ner och skicka filen vidare till API:et, valideraren eller skriptet som behövde den.

Varför utvecklare konverterar YAML till JSON

YAML är skrivet för människor: indentering i stället för klammerparenteser, kommentarer och inga citattecken runt de flesta strängar. Därför används det i Kubernetes-manifest, GitHub Actions-arbetsflöden, Docker Compose-filer och OpenAPI-specifikationer som team redigerar för hand. JSON är skrivet för program. Alla språk har en JSON-parser i standardbiblioteket, webbläsare tolkar det direkt och de flesta HTTP-API:er tar inget annat.

Konverteringen sker därför i gränssnittet mellan systemen. En plattformsingenjör skickar ett manifest genom jq, som bara läser JSON. En backendutvecklare skickar en OpenAPI-specifikation till en kodgenerator som vill ha JSON. En testare läser in testdata skrivna i YAML i en JavaScript-testsvit. I alla fall är YAML den primära källan och JSON en build-artefakt. För en hel katalog med flöden eller exporter i stället för konfigurationer hanterar XML till JSON det äldre märkspråket på samma sätt.

Hur YAML och JSON växte fram tillsammans

YAML föreslogs först av Clark Evans
2001
YAML 1.2 gjorde JSON till en delmängd av YAML
2009
RFC 8259, den gällande JSON-standarden
2017
YAML 1.2.2-revisionen publicerades
2021

Vad som händer med YAML-specifika funktioner i JSON

Med ett ankare (&defaults) och dess alias (*defaults) kan YAML återanvända ett block. JSON saknar referenser, så varje alias ersätts av en full kopia av det förankrade blocket.

  • JSON-filen kan bli märkbart längre än YAML-filen
  • Sammanslagningsnycklar (<<: *defaults) expanderas på samma sätt
En liten YAML-konfiguration som formaterad JSON
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Fakta om formaten YAML och JSON

YAML

YAML

YAML ("YAML Ain't Markup Language") är ett lättläst dataformat som först släpptes 2001. Det använder indrag i stället för parenteser, stöder kommentarer och är en övermängd av JSON. Det används mycket för konfiguration i Docker Compose, Kubernetes, GitHub Actions och många program. Eftersom det bygger på blanksteg går det lätt sönder av ett enda felplacerat mellanslag, och vissa värden, som "no" eller datum, kan tolkas oväntat.

Komprimering
–
Transparens
–
Animation
–
Introducerades
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML-omvandlare

JSON

JavaScript Object Notation

JSON är ett lättviktigt textformat för strukturerad data, populariserat av Douglas Crockford i början av 2000-talet och standardiserat som RFC 8259 och ECMA-404. Det representerar objekt, listor, strängar, tal, booleska värden och null med enkel, läsbar syntax. Det är standardformatet för webb-API:er, konfigurationsfiler och datautbyte mellan appar i nästan alla programmeringsspråk. Det har inga inbyggda kommentarer, datum eller scheman, och stora nästlade filer är svåra att läsa utan en visare.

Komprimering
–
Transparens
–
Animation
–
Introducerades
2001 · Douglas Crockford
JSON-omvandlare

Man konverterar YAML till JSON när en konfiguration eller specifikation skriven för människor ska matas in i en maskin: en API-förfrågan, en schemavaliderare eller ett verktyg utan YAML-parser.

Vanliga frågor om att konvertera YAML till JSON

Varför konvertera YAML till JSON om de innehåller samma data?

Många verktyg kan bara läsa det ena formatet. JSON-läsare finns i alla programmeringsspråk och webbläsare, medan YAML kräver ett extra bibliotek. Request bodies för REST-API:er, JSON Schema-validerare, jq och filer som package.json eller en webbläsartilläggs manifest.json förväntar sig alla JSON.

Vad händer med mina YAML-kommentarer?

De tas bort. RFC 8259 ger JSON ingen kommentarsyntax, så rader som börjar med # har ingenstans att ta vägen. Behåll YAML-filen som dokumenterad källa och se JSON-filen som en genererad kopia som du kan skapa på nytt när som helst.

Varför blev NO eller off till false?

Parsers som följer YAML 1.1 tolkar yes, no, on och off som booleska värden, så en landskod som NO för Norge kan bli false. YAML 1.2 begränsar booleska värden till true och false, men inte alla verktyg följer det. Sätt sådana värden inom citattecken i YAML-filen, som "NO", så förblir de strängar i JSON.

Kan jag konvertera en CloudFormation-mall skriven i YAML?

AWS CloudFormation godtar båda formaten, men de korta taggarna som !Ref och !GetAtt finns bara i YAML. JSON-mallar skriver dem som fullständiga funktioner, {"Ref": "MyBucket"} eller {"Fn::GetAtt": [...]}. Skriv om korta taggar till lång form före konverteringen så att JSON-mallen förblir giltig.

Hur konverterar jag åt andra hållet?

Använd JSON till YAML. Det är den vanliga riktningen när ett API-svar eller en genererad fil ska bli en läsbar konfigurationsfil i ett repository.