YAML til JSON-konverterer

Konverter YAML til JSON og JSON til YAML, med nøyaktig linje og kolonne for enhver syntaksfeil.

Slik bruker du verktøyet

  1. Lim inn YAML eller JSON – verktøyet finner ut hvilket av dem det er, eller velg retningen selv.
  2. Klikk «Konverter». Er syntaksen ødelagt, les linjen og kolonnen i meldingen og se på pilen under tegnet som skapte problemet.
  3. Kopier resultatet eller last det ned som converted.json eller converted.yaml. Ingenting lastes opp.

Om dette verktøyet

YAML og JSON beskriver det samme – kart, lister, strenger, tall, boolske verdier og null – med motsatte prioriteringer. JSON bruker klammer og anførselstegn, som maskiner liker og folk skriver feil. YAML bruker innrykk og nesten ingen tegnsetting, som folk liker helt til et bortkommet mellomrom endrer formen på dokumentet. Å konvertere mellom dem er rutinearbeid: å lese et Kubernetes-manifest eller en GitHub Actions-arbeidsflyt som JSON slik at et skript kan bruke det, eller å gjøre et API-svar om til YAML igjen for en konfigurasjonsfil. Dette verktøyet går begge veier og oppdager hvilket format du limte inn.

Konverteringen er den enkle halvparten; det som skjer når YAML-en er ødelagt er der dette verktøyet legger innsatsen. En syntaksfeil rapporteres som en linje og en kolonne talt slik en editor teller dem, med et utdrag av linjene rundt og en pil under nøyaktig det tegnet som stoppet parseren. Posisjonen er ikke alltid der du venter. En tabulator brukt til innrykk avvises ved selve tabulatoren, og utdraget skriver den ut som en pil, så du kan se det du ikke kan se. Et uavsluttet anførselstegn rapporteres på slutten av filen, ikke ved det åpnende anførselstegnet, fordi det er der parseren gikk tom for tekst i jakten på det avsluttende. En duplisert nøkkel flagges ved sin andre forekomst, og her er det en feil, ikke en advarsel. JSON-feil behandles likt: nettlesere formulerer dem ulikt og noen oppgir bare et tegnnummer, så linjen og kolonnen regnes ut her og blir like overalt.

YAML kan uttrykke ting JSON ikke kan, og hver eneste av dem påpekes i stedet for at dataene dine endres i stillhet. Ankere og aliaser utvides, så et alias blir en full kopi av den ankrede verdien, og du får beskjed. Merge keys blir det ikke: parseren kjører på JSON-skjemaet, som ikke løser dem opp, så en <<-linje overlever som en bokstavelig nøkkel med en advarsel om å slå sammen de feltene for hånd. En fil med flere dokumenter skilt med --- blir en JSON-liste, ett element per dokument. Verdiene .inf og .nan kommer ut som null, og enorme heltall mister de siste sifrene sine; begge deler flagges. Det skjemaet er også et sikkerhetsvalg: tagger som !!js/function avvises som ukjente i stedet for å bli instansiert. Og ingenting av det reiser noe sted – alt kjører på enheten din.

Ofte stilte spørsmål

Forlater YAML-en eller JSON-en min nettleseren?

Nei. Teksten tolkes og konverteres av JavaScript på din egen enhet – ingenting sendes noe sted, lagres eller logges. Det betyr noe her: et Kubernetes-manifest bærer vertsnavn, porter, bucket-navn og tjenestekontoer.

Hva betyr linjen og kolonnen i feilmeldingen helt konkret?

De viser hvor parseren ga opp, talt fra 1 som i editoren din, med pilen under det tegnet. Ett tilfelle overrasker folk: et uavsluttet anførselstegn rapporteres på slutten av filen, så let bakover etter det siste anførselstegnet du åpnet.

Støttes ankere og aliaser?

Ja. Hvert alias blir en full kopi av den ankrede verdien i JSON-en, og verktøyet sier fra om det. Merge keys er unntaket: de løses ikke opp, << overlever som en bokstavelig nøkkel, og du får en tydelig advarsel i stedet for et stille galt resultat.

Kan den konvertere en fil med flere dokumenter skilt med ---?

Ja. JSON har ikke noe begrep om flere dokumenter i én fil, så hvert YAML-dokument blir ett element i en JSON-liste, i rekkefølge, og en melding sier hvor mange som ble funnet.

Hvorfor ble «yes» en streng i stedet for true?

Fordi YAML 1.2 bare behandler true og false som boolske verdier; yes, no, on og off forblir strenger. Eldre 1.1-parsere konverterte dem – den samme regelen som gjør landkoden NO til false. Sett anførselstegn rundt en verdi når den må forbli tekst.

Relaterte verktøy

Lange lenker? Forkort dem gratis

Vai.la gjør enhver URL om til en kortlenke med klikkstatistikk, QR Code og din egen biolink.

Vai.la er ikke ansvarlig for hvordan verktøyene brukes, eller for beslutninger tatt på grunnlag av resultatene.