UltKit

YAML til JSON-konverter

Gjør YAML-konfigurasjon, OpenAPI-spesifikasjoner og CI-filer om til JSON som enhver parser, API eller skjemavalidator kan lese. Last opp .yaml- eller .yml-filer og last ned JSON med innrykk.

Datakonverterer

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

Maks 95 MB per fil· Opptil 20 filer· Slettes etter 30 minutter

Utdata

Filene behandles på serverne våre og slettes etter 30 minutter.

Slik bruker du dette verktøyet

  1. 1

    Last opp YAML-filer

    Legg til .yaml- eller .yml-filer, opptil 20 om gangen og 95 MB per fil. Beholder du de opprinnelige navnene, får JSON-filene samme navn med ny filtype.

  2. 2

    Velg innrykket eller kompakt

    Pen formatering er slått på og rykker inn JSON-en slik at den er lett å lese og gjennomgå. Slå den av under Avanserte innstillinger for en fil på én linje som du kan lime inn i en forespørsel.

  3. 3

    Konverter og bruk

    Trykk Konverter til JSON, last ned og send filen videre til API-et, valideringsverktøyet eller skriptet som trengte den.

Hvorfor utviklere konverterer YAML til JSON

YAML er skrevet for mennesker: innrykk i stedet for klammer, kommentarer og ingen anførselstegn rundt de fleste strenger. Derfor brukes det i Kubernetes-manifester, GitHub Actions-arbeidsflyter, Docker Compose-filer og OpenAPI-spesifikasjoner som team redigerer for hånd. JSON er skrevet for programmer. Alle språk har en JSON-parser i standardbiblioteket, nettlesere leser det direkte, og de fleste HTTP-API-er godtar ikke noe annet.

Konverteringen skjer derfor i grensesnittet mellom systemene. En plattformingeniør sender et manifest gjennom jq, som bare leser JSON. En backend-utvikler sender en OpenAPI-spesifikasjon til en kodegenerator som vil ha JSON. En tester laster testdata skrevet i YAML inn i en JavaScript-testsuite. I alle tilfeller er YAML den egentlige kilden og JSON et byggeresultat. Har du en hel mappe med feeder eller eksporter i stedet for konfigurasjoner, håndterer XML til JSON det eldre markup-formatet på samme måte.

Hvordan YAML og JSON vokste frem sammen

YAML ble først foreslått av Clark Evans
2001
YAML 1.2 gjorde JSON til en delmengde av YAML
2009
RFC 8259, dagens JSON-standard
2017
YAML 1.2.2-revisjonen ble publisert
2021

Hva skjer med YAML-spesifikke funksjoner i JSON

Et anker (&defaults) og aliasene til det (*defaults) lar YAML gjenbruke en blokk. JSON har ingen referanser, så hvert alias erstattes av en full kopi av ankerblokken.

  • JSON-en kan bli merkbart lengre enn YAML-en
  • Sammenslåingsnøkler (<<: *defaults) utvides på samme måte
En liten YAML-konfigurasjon som JSON med pen formatering
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Fakta om formatene YAML og JSON

YAML

YAML

YAML («YAML Ain't Markup Language») er et lesbart dataformat som først ble lansert i 2001. Det bruker innrykk i stedet for parenteser, støtter kommentarer og er en overmengde av JSON. Det brukes mye til konfigurasjon i Docker Compose, Kubernetes, GitHub Actions og mange programmer. Siden det bygger på mellomrom, kan ett enkelt feilplassert mellomrom ødelegge filen, og enkelte verdier, som «no» eller datoer, kan tolkes uventet.

Komprimering
–
Gjennomsiktighet
–
Animasjon
–
Introdusert
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML-konverterer

JSON

JavaScript Object Notation

JSON er et lett tekstformat for strukturerte data, gjort populært av Douglas Crockford tidlig på 2000-tallet og standardisert som RFC 8259 og ECMA-404. Det representerer objekter, lister, tekststrenger, tall, boolske verdier og null med enkel, lesbar syntaks. Det er standardformatet for web-API-er, konfigurasjonsfiler og datautveksling mellom apper i nesten alle programmeringsspråk. Det har ingen innebygde kommentarer, datoer eller skjemaer, og store nestede filer er vanskelige å lese uten en viser.

Komprimering
–
Gjennomsiktighet
–
Animasjon
–
Introdusert
2001 · Douglas Crockford
JSON-konverterer

Folk konverterer YAML til JSON når en konfigurasjon eller spesifikasjon skrevet for mennesker skal brukes av en maskin: en API-forespørsel, en skjemavalidator eller et verktøy uten YAML-parser.

Vanlige spørsmål om YAML til JSON-konvertering

Hvorfor konvertere YAML til JSON når de inneholder de samme dataene?

Fordi mange verktøy bare kan lese det ene formatet. JSON-lesere følger med alle programmeringsspråk og nettlesere, mens YAML krever et ekstra bibliotek. Forespørselsinnhold til REST-API-er, JSON Schema-validatorer, jq og filer som package.json eller manifest.json i en nettleserutvidelse forventer alle JSON.

Hva skjer med kommentarene i YAML-filen?

De fjernes. RFC 8259 har ingen syntaks for kommentarer i JSON, så linjer som starter med # har ingen plass der. Behold YAML-filen som den dokumenterte kilden, og bruk JSON som en generert kopi du kan lage på nytt når som helst.

Hvorfor ble NO eller off til false?

Parsere som følger YAML 1.1 leser yes, no, on og off som boolske verdier, så en landskode som NO for Norge kan bli false. YAML 1.2 begrenser boolske verdier til true og false, men ikke alle verktøy følger det. Sett slike verdier i anførselstegn i YAML, som i "NO", så forblir de tekststrenger i JSON.

Kan jeg konvertere en CloudFormation-mal skrevet i YAML?

AWS CloudFormation godtar begge formatene, men de korte taggene som !Ref og !GetAtt finnes bare i YAML. JSON-maler skriver dem som fulle funksjoner, {"Ref": "MyBucket"} eller {"Fn::GetAtt": [...]}. Skriv om korte tagger til lang form før konvertering, slik at JSON-malen er gyldig.

Hvordan konverterer jeg motsatt vei?

Bruk JSON til YAML. Det er den vanlige retningen når et API-svar eller en generert fil skal bli en lesbar konfigurasjonsfil i et repository.