JSON til YAML-konverterer
Konverter JSON til YAML og YAML til JSON i nettleseren din, med støtte for ankere, sammenslåingsnøkler og filer med flere dokumenter. Ingenting lastes opp.
Slik bruker du JSON til YAML-konvertereren
- Velg retning: JSON → YAML eller YAML → JSON.
- Lim inn dataene, eller klikk Åpne fil for å laste en
.json-,.yaml- eller.yml-fil (opptil 10 MB). - Velg Innrykk (2 eller 4 mellomrom) og, hvis du vil, Sorter nøkler alfabetisk.
- Klikk Konverter, eller bare fortsett å skrive: resultatet oppdateres automatisk. Hvis inndataene er ugyldige, oppgir feilmeldingen linje og kolonne for problemet.
- Kopier eller last ned resultatet. Bytt retning sender resultatet tilbake til inndataene slik at du kan konvertere den andre veien.
JSON og YAML: samme data, ulik syntaks
YAML er i praksis en overmengde av JSON: hvert JSON-dokument beskriver data som YAML kan uttrykke, og YAML legger til en lettere syntaks som er enklere for mennesker å lese og redigere. Derfor skrives Kubernetes-manifester, Docker Compose-filer, GitHub Actions- og GitLab CI-pipelines, Ansible-playbooks og OpenAPI-spesifikasjoner som regel i YAML, mens API-er og programmer utveksler JSON.
De samme dataene i begge formater:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konvertereren skriver YAML i blokkstil: én nøkkel per linje, lister med bindestreker og nestede objekter rykket inn. Lange strenger brytes aldri, og strenger med flere linjer bruker den bokstavelige |-stilen slik at linjeskift beholdes nøyaktig. Strenger som YAML ellers ville lest som en annen type, settes i anførselstegn: "yes", "1.0" eller "null" forblir strenger etter en rundtur. Sorter nøkler sorterer nøklene i hvert objekt alfabetisk, noe som gjør to konfigurasjonsfiler lettere å sammenligne.
YAML → JSON
YAML-en leses med kjerneskjemaet i YAML 1.2, de samme reglene de fleste moderne verktøy bruker:
true/false, tall ognull(eller~) blir JSON-verdier, mensyes,no,onogoffforblir strenger, slik YAML 1.2-spesifikasjonen krever.- Ankere og aliaser (
&base,*base) utvides, og sammenslåingsnøkler (<<: *base), vanlige i CI-filer, støttes. - En fil med flere dokumenter adskilt av
---blir en JSON-liste med ett element per dokument, og en melding forteller hvor mange som ble slått sammen. - Kommentarer droppes, siden JSON ikke har kommentarer.
.infog.nanhar ingen JSON-ekvivalent. De skrives som strengene"Infinity"og"NaN".
For å beskytte nettleseren din mot «billion laughs»-filer, der noen få aliaser utvides til milliarder av verdier, avvises et dokument som utvides til mer enn en million verdier.
Vanlige YAML-feil
- Tabulatorer til innrykk: YAML tillater bare mellomrom.
- Inkonsekvent innrykk: elementer i samme liste eller objekt må starte i samme kolonne.
- Manglende mellomrom etter kolon:
key:valueer én enkelt streng, menskey: valueer et nøkkel-verdi-par. - Spesialtegn uten anførselstegn: en verdi som begynner med
@, et grav-aksent-tegn,*,&eller!, eller som inneholder:eller#, må settes i anførselstegn.
Ofte stilte spørsmål
Sendes filen min til en server?
Nei. Konverteringen kjører i nettleseren din, og konfigurasjonsfilene, hemmelighetene eller API-dataene dine forlater aldri datamaskinen din.
Hvorfor blir ikke «yes» og «no» konvertert til boolske verdier?
Siden YAML 1.2 er det bare true og false som er boolske verdier. Eldre YAML 1.1-parsere behandlet yes, no, on og off som boolske verdier, noe som ga det berømte «Norge-problemet» (landskoden NO ble lest som false). Dette verktøyet følger YAML 1.2.
Beholdes YAML-kommentarer?
Nei. JSON har ikke kommentarer, så de går tapt i YAML → JSON. Når du konverterer JSON → YAML, kan du legge til kommentarer i resultatet etterpå.
Kan jeg konvertere en Kubernetes-fil med flere ressurser?
Ja. Hver ressurs adskilt av --- blir ett element i en JSON-liste. Å konvertere den listen tilbake til YAML gir ett enkelt dokument som inneholder en liste.
Endrer konvertereren rekkefølgen på nøklene?
Ikke med mindre du huker av for Sorter nøkler: nøklene beholder rekkefølgen de har i inndataene. Det eneste unntaket kommer fra JavaScript selv: nøkler som er hele tall, som "10" eller "2", plasseres først, i stigende rekkefølge.
Relaterte verktøy
- JSON-formaterer og -validator Gratis JSON-formaterer og -validator som gjør JSON ryddig, minifiserer og kontrollerer den i nettleseren din, med syntaksfeil oppgitt med linje og kolonne.
- JSON til CSV-konverterer Konverter JSON til CSV og CSV tilbake til JSON i nettleseren din. Nestede nøkler flates ut til kolonner, skilletegn oppdages, og ingenting lastes opp.
- JSON til XML-konverterer Konverter JSON til XML og XML til JSON i nettleseren din, med håndtering av attributter, gjentatte elementer og CDATA. Ingenting lastes opp til en server.