Utviklarverktøy

JSON ↔ YAML-konverterar

Konverter JSON til YAML eller YAML til JSON lokalt, med nøsta lister, tekst og nøyaktige tal.

Dine verdiar

Konvertering av YAML 1.2-data. Kommentarar og formatering vert ikkje bevarte. Grense for inndata: 2 MiB.

Dine resultat

Konverter JSON og YAML med dei tiltenkte datatypane

Konverter JSON-kompatible data mellom streng JSON og YAML 1.2-kjernesyntaks. Konverteraren held på skrivemåten til JSON-tala, inkludert store heiltal, i staden for først å avrunde dei gjennom JavaScript-tal. Han konverterer dataverdiar, ikkje formateringa i kjeldedokumentet eller konfigurasjonsskjemaet til eit program. YAML-kommentarar, anker og presentasjonsval blir ikkje haldne på ved konvertering til JSON.

Steg for steg

  1. Lim inn tekst, eller opne ei lokal JSON-, YAML-, YML- eller TXT-fil i UTF-8. Vel JSON → YAML eller YAML → JSON uttrykkeleg; opning av ei fil kjenner ikkje att retninga.
  2. Vel to eller fire mellomrom, og sorter eventuelt objektnøklar. Handsam inndata, og løys eventuelle syntaksfeil eller feil ved ustøtta funksjonar. Sorteringa er rekursiv og brukar leksikalsk rekkjefølgje som skil mellom store og små bokstavar; rekkjefølgja i lister er uendra.
  3. Kontroller strengar, boolske verdiar, nullverdiar og tal. Kopier, skriv ut eller last deretter ned converted.yaml eller converted.json. Dersom du endrar inndata eller val, handsam dei på nytt fordi det gamle resultatet blir fjerna. Valider den konverterte fila med programmet som skal bruke henne.

Innstillingar og avgrensingar

Typar og dokumentreglar
Bruk eitt YAML 1.2-dokument med unike strengnøklar og JSON-kompatible verdiar. Set hermeteikn rundt identifikatorar som ser numeriske ut, som "00123"; YAML-verdien 00123 utan hermeteikn blir talet 123. Vanleg yes, on og datotekst i ISO-format er framleis strengar etter kjernereglane.
Alias og ustøtta funksjonar
Alias utan syklusar blir utvida til gjentekne verdiar. Syklusar, dupliserte nøklar, nøklar som ikkje er strengar, ustøtta taggar og ikkje-endelege tal blir avviste. YAML-samanslåingsnøklar blir ikkje brukte: <<: *base blir ein vanleg "<<"-eigenskap, så utvid tiltenkte arva felt først.
Storleik og kompleksitet
Inndata er avgrensa til 2 MiB UTF-8-tekst: 2,097,152 byte. Utdata er avgrensa til 8 MiB. Handsaminga stoppar òg over 128 nøstenivå, 200,000 verdinodar eller 100 aliasbesøk; ei lita fil kan framleis overstige desse grensene.

Gjennomgått døme

Last ned types-example.json, og vel JSON → YAML med innrykk på to mellomrom og sortering av. Konverter henne, og samanlikn med types-example.yaml. Verdiane id og word i hermeteikn er framleis strengar, enabled er framleis false, og retries og large er framleis tal.

Døme på inndata

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

Venta resultat

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

Opne no types-example.yaml, byt uttrykkeleg til YAML → JSON, og handsam på nytt. id skal framleis vere "00123", og det store heiltalet skal framleis vere 9007199254740993. Fjern hermeteikna rundt 00123 i YAML, og gjenta: verdien blir numerisk 123. Denne skilnaden har noko å seie for identifikatorar sjølv når begge filene er gyldige.

Spørsmål og feilsøking

Kvifor feilar JSON med dupliserte nøklar her, men blir formatert andre stader?

JSON-formateraren kan åtvare om og halde på dupliserte nøklar. Denne konverteraren avviser dei fordi konvertering til ein nøkkel-verdi-struktur kan endre tydinga. Avgjer kva verdi som høyrer heime i kjelda, og fjern duplikatet før konvertering.

Vil kommentarar og YAML-arv bli haldne på?

JSON har ingen kommentarar eller anker. Alias blir utvida, og samanslåingsnøklar blir eksporterte bokstaveleg i staden for å bli brukte som arv. Utvid dei tiltenkte dataa, og kontroller resultatet; konvertering er ikkje ei tru attgjeving av alle YAML-funksjonar.

Er store tal trygge i mottakarprogrammet?

Konverteraren held på støtta numeriske skrivemåtar og store heiltalsverdiar, men eit seinare program kan lese dei med lågare presisjon. Bruk ein streng i hermeteikn når ein verdi som ser numerisk ut, er ein identifikator, og test tolken til mottakarprogrammet.