Utviklerverktøy

JSON ↔ YAML-konverterer

Konverter JSON til YAML eller YAML til JSON lokalt, med nøstede lister, tekst og nøyaktige tall.

Dine verdier

Konvertering av YAML 1.2-data. Kommentarer og formatering bevares ikke. Grense for inndata: 2 MiB.

Dine resultater

Konverter JSON og YAML med de tiltenkte datatypene

Konverter JSON-kompatible data mellom streng JSON og YAML 1.2-kjernesyntaks. Konvertereren bevarer JSON-tallenes skrivemåte, inkludert store heltall, i stedet for først å avrunde dem gjennom JavaScript-tall. Den konverterer dataverdier, ikke kildedokumentets formatering eller et programs konfigurasjonsskjema. YAML-kommentarer, ankere og presentasjonsvalg bevares ikke ved konvertering til JSON.

Trinn for trinn

  1. Lim inn tekst, eller åpne en lokal JSON-, YAML-, YML- eller TXT-fil i UTF-8. Velg JSON → YAML eller YAML → JSON uttrykkelig; åpning av en fil gjenkjenner ikke retningen.
  2. Velg to eller fire mellomrom, og sorter eventuelt objektnøkler. Behandle inndataene, og løs eventuelle syntaksfeil eller feil ved ustøttede funksjoner. Sorteringen er rekursiv og bruker leksikalsk rekkefølge som skiller mellom store og små bokstaver; rekkefølgen i lister forblir uendret.
  3. Kontroller strenger, boolske verdier, nullverdier og tall. Kopier, skriv ut eller last deretter ned converted.yaml eller converted.json. Hvis du endrer inndata eller alternativer, behandle dem på nytt fordi det gamle resultatet fjernes. Valider den konverterte filen med programmet som skal bruke den.

Innstillinger og begrensninger

Typer og dokumentregler
Bruk ett YAML 1.2-dokument med unike strengnøkler og JSON-kompatible verdier. Sett anførselstegn rundt identifikatorer som ser numeriske ut, som "00123"; YAML-verdien 00123 uten anførselstegn blir tallet 123. Vanlig yes, on og datotekst i ISO-format forblir strenger etter kjernereglene.
Aliaser og ustøttede funksjoner
Aliaser uten sykluser utvides til gjentatte verdier. Sykluser, dupliserte nøkler, nøkler som ikke er strenger, ustøttede tagger og ikke-endelige tall avvises. YAML-sammenslåingsnøkler anvendes ikke: <<: *base blir en vanlig "<<"-egenskap, så utvid tiltenkte arvede felt først.
Størrelse og kompleksitet
Inndata er begrenset til 2 MiB UTF-8-tekst: 2,097,152 byte. Utdata er begrenset til 8 MiB. Behandlingen stopper også over 128 nøstenivåer, 200,000 verdinoder eller 100 aliasbesøk; en liten fil kan fortsatt overskride disse grensene.

Gjennomgått eksempel

Last ned types-example.json, og velg JSON → YAML med innrykk på to mellomrom og sortering av. Konverter den, og sammenlign med types-example.yaml. Verdiene id og word i anførselstegn forblir strenger, enabled forblir false, og retries og large forblir tall.

Eksempel på inndata

{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}

Forventet resultat

"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993

Åpne nå types-example.yaml, bytt uttrykkelig til YAML → JSON, og behandle på nytt. id skal fortsatt være "00123", og det store heltallet skal fortsatt være 9007199254740993. Fjern anførselstegnene rundt 00123 i YAML, og gjenta: verdien blir numerisk 123. Denne forskjellen betyr noe for identifikatorer selv når begge filene er gyldige.

Spørsmål og feilsøking

Hvorfor feiler JSON med dupliserte nøkler her, men formateres andre steder?

JSON-formatereren kan advare om og beholde dupliserte nøkler. Denne konvertereren avviser dem fordi konvertering til en nøkkel-verdi-struktur kan endre betydningen. Bestem hvilken verdi som hører hjemme i kilden, og fjern duplikatet før konvertering.

Vil kommentarer og YAML-arv bevares?

JSON har ingen kommentarer eller ankere. Aliaser utvides, og sammenslåingsnøkler eksporteres bokstavelig i stedet for å anvendes som arv. Utvid de tiltenkte dataene, og kontroller resultatet; konvertering er ikke en tro gjengivelse av alle YAML-funksjoner.

Er store tall trygge i mottakerprogrammet?

Konvertereren bevarer støttede numeriske skrivemåter og store heltallsverdier, men et senere program kan lese dem med lavere presisjon. Bruk en streng i anførselstegn når en verdi som ser numerisk ut, er en identifikator, og test mottakerprogrammets tolk.