UltKit

YAML til JSON-konverter

Omdan YAML-konfiguration, OpenAPI-specifikationer og CI-filer til JSON, som enhver parser, API eller skemavalidator kan læse. Upload .yaml- eller .yml-filer, og download indrykket JSON.

Datakonverter

eller slip CSV, TSV, TXT …-filer her ·

Maks. 95 MB pr. fil· Op til 20 filer· Slettes efter 30 minutter

Output

Filer behandles på vores servere og slettes efter 30 minutter.

Sådan bruger du værktøjet

  1. 1

    Upload YAML-filer

    Tilføj .yaml- eller .yml-filer, op til 20 ad gangen og 95 MB pr. fil. Behold de oprindelige navne; JSON-filerne får samme navn med en ny filtypenavn.

  2. 2

    Vælg indrykket eller kompakt

    Pæn formatering er slået til, hvilket indrykker JSON, så den er let at læse og gennemgå. Slå den fra under Avancerede indstillinger for at få en fil på én linje, som du kan indsætte i en request body.

  3. 3

    Konverter og brug filen

    Tryk på Konvertér til JSON, download filen, og giv den videre til API'et, validatoren eller scriptet, der skulle bruge den.

Hvorfor udviklere konverterer YAML til JSON

YAML er skrevet til mennesker: indrykning i stedet for klammer, kommentarer og ingen anførselstegn om de fleste strenge. Det gør det til formatet for Kubernetes-manifester, GitHub Actions-workflows, Docker Compose-filer og OpenAPI-specifikationer, som teams redigerer i hånden. JSON er skrevet til programmer. Alle sprog har en JSON-parser i standardbiblioteket, browsere læser det direkte, og de fleste HTTP API'er tager ikke andet.

Derfor sker konverteringen i grænsefladen mellem systemer. En platformsingeniør sender et manifest gennem jq, som kun læser JSON. En backend-udvikler sender en OpenAPI-specifikation til en kodegenerator, der kræver JSON. En tester indlæser testdata skrevet i YAML i en JavaScript-testsuite. I alle tilfælde er YAML den primære kilde, og JSON er et build-produkt. Til en hel mappe med feeds eller eksporter frem for konfigurationer klarer XML til JSON det ældre opmærkningsformat på samme måde.

Hvordan YAML og JSON har udviklet sig sammen

YAML blev første gang foreslået af Clark Evans
2001
YAML 1.2 gjorde JSON til en delmængde af YAML
2009
RFC 8259, den gældende JSON-standard
2017
YAML 1.2.2-revisionen udgivet
2021

Hvad der sker med funktioner, som kun findes i YAML, i JSON

Et anker (&defaults) og dets aliasser (*defaults) lader YAML genbruge en blok. JSON har ingen referencer, så hvert alias erstattes af en fuld kopi af den forankrede blok.

  • JSON kan blive mærkbart længere end YAML
  • Merge keys (<<: *defaults) udvides på samme måde
En lille YAML-konfiguration som formateret JSON
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Fakta om YAML- og JSON-formatet

YAML

YAML

YAML ("YAML Ain't Markup Language") er et letlæseligt dataformat, der først udkom i 2001. Det bruger indrykning i stedet for parenteser, understøtter kommentarer og er en overmængde af JSON. Det bruges meget til konfiguration i Docker Compose, Kubernetes, GitHub Actions og mange programmer. Afhængigheden af mellemrum gør det let at ødelægge med ét forkert placeret mellemrum, og nogle værdier, som "no" eller datoer, kan blive fortolket uventet.

Komprimering
–
Gennemsigtighed
–
Animation
–
Introduceret
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML-konverter

JSON

JavaScript Object Notation

JSON er et let tekstformat til strukturerede data, populariseret af Douglas Crockford i begyndelsen af 2000'erne og standardiseret som RFC 8259 og ECMA-404. Det repræsenterer objekter, arrays, strenge, tal, booleanske værdier og null med enkel, læsbar syntaks. Det er standardformatet til web-API'er, konfigurationsfiler og dataudveksling mellem apps i næsten alle programmeringssprog. Det har ingen indbyggede kommentarer, datoer eller skemaer, og store indlejrede filer er svære at læse uden en fremviser.

Komprimering
–
Gennemsigtighed
–
Animation
–
Introduceret
2001 · Douglas Crockford
JSON-konverter

Man konverterer YAML til JSON, når en konfiguration eller specifikation skrevet til mennesker skal bruges af en maskine: en API-forespørgsel, en skemavalidator eller et værktøj uden YAML-parser.

Ofte stillede spørgsmål om YAML til JSON-konverteren

Hvorfor konvertere YAML til JSON, når de indeholder de samme data?

Fordi mange værktøjer kun kan læse det ene af dem. JSON-parsere følger med alle programmeringssprog og browsere, mens YAML kræver et ekstra bibliotek. Request bodies til REST API'er, JSON Schema-validatorer, jq og filer som package.json eller en browserudvidelses manifest.json forventer alle JSON.

Hvad sker der med mine YAML-kommentarer?

De fjernes. RFC 8259 giver ikke JSON nogen kommentarsyntaks, så linjer, der starter med #, har ingen steder at være. Behold YAML-filen som den dokumenterede kilde, og behandl JSON som en genereret kopi, du kan oprette igen når som helst.

Hvorfor blev NO eller off til false?

Parsere, der følger YAML 1.1, læser yes, no, on og off som booleske værdier, så en landekode som NO for Norge kan blive til false. YAML 1.2 begrænser booleske værdier til true og false, men ikke alle værktøjer følger den. Sæt sådanne værdier i anførselstegn i YAML, f.eks. "NO", så forbliver de strenge i JSON.

Kan jeg konvertere en CloudFormation-skabelon skrevet i YAML?

AWS CloudFormation accepterer begge formater, men de korte tags som !Ref og !GetAtt findes kun i YAML. JSON-skabeloner skriver dem som fulde funktioner, {"Ref": "MyBucket"} eller {"Fn::GetAtt": [...]}. Omskriv korte tags til den lange form før konvertering, så JSON-skabelonen forbliver gyldig.

Hvordan konverterer jeg den anden vej?

Brug JSON til YAML. Det er den sædvanlige retning, når et API-svar eller en genereret fil skal blive til en læsbar konfigurationsfil i et repository.