Utilia

JSON í YAML umbreytir

Umbreyttu JSON í YAML og YAML í JSON í vafranum, með akkerum, sameiningarlyklum og margskjala-skrám. Engu er hlaðið upp.

Umbreyting

Hvernig á að nota JSON í YAML umbreytinn

  1. Veldu stefnuna: JSON → YAML eða YAML → JSON.
  2. Límdu gögnin þín, eða smelltu á Opna skrá til að hlaða inn .json-, .yaml- eða .yml-skrá (allt að 10 MB).
  3. Veldu Inndráttur (2 eða 4 bil) og, ef þú vilt, Raða lyklum í stafrófsröð.
  4. Smelltu á Umbreyta, eða haltu bara áfram að skrifa: niðurstaðan uppfærist sjálfkrafa. Ef inntakið er ógilt gefa villuskilaboðin línu og dálk vandamálsins.
  5. Afritaðu niðurstöðuna eða sæktu hana. Skipta um átt sendir úttakið aftur í inntakið til að umbreyta því hina leiðina.

JSON og YAML: sömu gögn, ólík setningafræði

YAML er í reynd yfirmengi JSON: hvert JSON-skjal lýsir gögnum sem YAML getur tjáð og YAML bætir við léttari setningafræði sem er auðveldari fyrir fólk að lesa og breyta. Þess vegna eru Kubernetes-lýsingar, Docker Compose-skrár, GitHub Actions- og GitLab CI-ferli, Ansible-handbækur og OpenAPI-skilgreiningar yfirleitt skrifuð í YAML, á meðan API og forrit skiptast á JSON.

Sömu gögn í báðum sniðum:

{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
  - 80
  - 443
env:
  DEBUG: false

JSON → YAML

Umbreytirinn skrifar YAML í blokkarstíl: einn lykil í hverri línu, lista með bandstrikum og nestaða hluti inndregna. Langir strengir eru aldrei brotnir og fjöllínustrengir nota |-stílinn svo línuskil haldist nákvæmlega. Strengir sem YAML læsi annars sem aðra tegund eru settir innan gæsalappa: "yes", "1.0" eða "null" haldast strengir eftir hring. Raða lyklum raðar lyklum hvers hlutar í stafrófsröð, sem gerir tvær stillingaskrár auðveldari að bera saman.

YAML → JSON

YAML-ið er lesið með YAML 1.2 kjarnaschema, sömu reglum og flest nútímatól nota:

  • true/false, tölur og null (eða ~) verða JSON-gildi; yes, no, on og off haldast strengir, eins og YAML 1.2-skilgreiningin krefst.
  • Akkeri og tilvísanir (&base, *base) eru útvíkkuð og sameiningarlyklar (<<: *base), algengir í CI-skrám, eru studdir.
  • Skrá með nokkrum skjölum aðgreindum með --- verður JSON-fylki með einu staki á skjal og skilaboð segja hversu mörg voru sameinuð.
  • Athugasemdir falla niður, því JSON hefur engar athugasemdir.
  • .inf og .nan eiga sér ekkert JSON-jafngildi; þau eru skrifuð sem strengirnir "Infinity" og "NaN".

Til að vernda vafrann þinn gegn „billion laughs“-skrám, þar sem fáeinar tilvísanir stækka í milljarða gilda, er skjali sem stækkar í meira en milljón gildi hafnað.

Algeng YAML-mistök

  • Tabulatorar fyrir inndrátt: YAML leyfir aðeins bil.
  • Ósamræmdur inndráttur: atriði sama lista eða hlutar verða að byrja í sama dálki.
  • Bil vantar á eftir tvípunkti: key:value er einn strengur, en key: value er lykill-gildi par.
  • Sérstafir án gæsalappa: gildi sem byrjar á @, bakstrik, *, & eða !, eða inniheldur : eða #, verður að vera innan gæsalappa.

Algengar spurningar

Er skráin mín send á netþjón?

Nei. Umbreytingin keyrir í vafranum þínum og stillingaskrár, leyndarmál eða API-gögn fara aldrei úr tölvunni þinni.

Af hverju eru „yes“ og „no“ ekki umbreytt í bólesk gildi?

Frá og með YAML 1.2 eru aðeins true og false bólesk gildi. Eldri YAML 1.1-þáttarar meðhöndluðu yes, no, on og off sem bólesk gildi, sem olli hinu fræga „Noregsvandamáli“ (landskóðinn NO lesinn sem false). Þetta verkfæri fylgir YAML 1.2.

Eru YAML-athugasemdir varðveittar?

Nei. JSON hefur engar athugasemdir, svo þær glatast í YAML → JSON. Þegar JSON → YAML er umbreytt geturðu bætt athugasemdum við niðurstöðuna á eftir.

Get ég umbreytt Kubernetes-skrá með nokkrum tilföngum?

Já. Hvert tilfang aðgreint með --- verður eitt stak í JSON-fylki. Að umbreyta því fylki aftur í YAML gefur eitt skjal sem inniheldur lista.

Breytir umbreytirinn röð lykla?

Ekki nema þú hakir við Raða lyklum: lyklar halda röðinni sem þeir hafa í inntakinu. Eina undantekningin kemur frá JavaScript sjálfu: lyklar sem eru heilar tölur, eins og "10" eða "2", eru settir fremst, í hækkandi röð.