Libreng Converter

YAML sa JSON Converter

Mabilis at secure na conversion ng YAML sa JSON. Perpekto para sa mga configuration file at pagsusuri ng data.

O kaya

Tungkol sa tool na ito

Ang YAML at JSON ay malapit na magkaugnay na mga format — ang JSON ay teknikal na isang mahigpit na subset ng YAML 1.2 — at ang pag-convert sa pagitan ng mga ito ay karaniwang diretso. Nagdaragdag ang YAML ng mga feature na madaling gamitin sa tao na kulang sa JSON: mga komento, mga multi-line na string nang hindi tumatakas, mga anchor at alias na reference, mas flexible na pagsipi, at indentation-based na istraktura na kahawig ng natural na layout ng dokumento. Ginagawa nitong popular ang YAML para sa mga configuration file (nagpapakita ang Kubernetes, mga workflow ng GitHub Actions, Docker Compose) habang pinangungunahan ng JSON ang mga payload ng API.

Ang pag-convert ng YAML sa JSON ay karaniwang nangangahulugan ng pagsuko sa mga YAML's human-friendly na mga extra kapalit ng isang format na mas madaling na-parse ng mga machine at iyon ang lingua franca ng mga HTTP API. Ibinaba ang mga komento (wala si JSON). Ang mga anchor reference ay niresolba sa kanilang mga reference na halaga. Ang mga multi-line na string ay bumagsak sa karaniwang mga string ng JSON na may naka-embed na mga bagong linya.

Ang converter na ito ay nag-parse ng YAML gamit ang js-yaml, ang pinakakaraniwang ginagamit na YAML library sa JavaScript. Binubuo ang output gamit ang JSON.stringify na may opsyonal na indentation. Pinangangasiwaan ng conversion ang lahat ng karaniwang syntax ng YAML 1.2 kasama ang istilo ng daloy, istilo ng block, scalar, sequence, mapping, anchor, alias, at ang mga karaniwang uri ng tag.

Bakit I-convert ang YAML sa JSON

Karamihan sa mga API at maraming programming environment ay umaasa sa JSON. Ang mga configuration file na nakasulat sa YAML ay kailangang i-convert sa JSON kapag isinasama sa code o mga serbisyong tumatanggap lang ng JSON. Ang tooling para sa JSON ay mas marami rin: jq, JSON Path, JSON Schema, at isang malawak na ecosystem ng mga validator at transformer ang lahat ay ipinapalagay na JSON input.

Ang JSON ay hindi rin malabo sa mga paraan na hindi YAML. Ang flexibility ng YAML ay lumilikha ng mga surpresa sa pag-parse — mga string tulad ng 'no' na pag-parse bilang boolean false sa YAML 1.1, mga string ng bersyon na nag-parse bilang mga float, mga error sa indentation na gumagawa ng mga tahimik na pagbabago sa istruktura. Ang pag-convert sa JSON ay nag-freeze ng data sa isang hindi gaanong malabo na anyo.

Paano gamitin

I-paste ang YAML, kumuha ng JSON.

  1. Idagdag ang iyong YAML: I-paste ang YAML text sa input area o mag-drop ng .yml/.yaml file. Tinatanggap ng js-yaml ang buong YAML 1.2 syntax.
  2. Magbalik-loob: Pina-parse ng js-yaml ang YAML sa isang JavaScript object, at ini-serialize ito ng JSON.stringify gamit ang two-space indentation. Inalis ang mga komento, niresolba ang mga anchor, at ang mga espesyal na uri ng YAML (mga timestamp, binary data) ay kino-convert sa mga representasyong tumutugma sa JSON.
  3. Suriin ang resulta: Kumpirmahin na ang istraktura ng JSON ay tumutugma sa iyong inaasahan. Ihambing laban sa pinagmulang YAML upang makita ang anumang mga lugar kung saan ang maluwag na pag-type ng YAML ay gumawa ng mga hindi inaasahang halaga ng JSON.
  4. I-download o kopyahin: I-save bilang .json o kopyahin sa clipboard. Ang output ay valid na JSON consumable ng anumang JSON parser.

Mga Pangkaraniwang Paggamit

Mga Detalye ng Teknikal

Ang js-yaml ay nagpapatupad ng YAML 1.2 na may opsyonal na suporta para sa YAML 1.1 quirks (ang 'no'-as-false na isyu, mga octal na numero na walang 0o prefix). Gumagawa ang parser ng JavaScript object tree gamit ang mga native na uri: mga numero, string, boolean, null, array, at plain object.

Ang JSON.stringify ay nagse-serye ng object tree sa JSON. Ang opsyonal na indentation ay gumagawa ng medyo naka-print na output; kung wala ito ang resulta ay compact single-line JSON. Ang mga espesyal na halaga (NaN, Infinity, hindi natukoy) ay hindi wastong JSON; pinipilit sila ng converter na maging null kung saan naroroon.

Mga kaso sa gilid: Ang mga timestamp ng YAML ay nagiging mga string ng ISO-8601 sa JSON. Ang YAML binary data (base64-encoded) ay nagiging isang string. Ang mga anchor at alias ay niresolba sa mga duplicate na value sa JSON, dahil walang reference syntax ang JSON.

Pinakamahusay na Kasanayan

Mga madalas itanong

Binabago ba ng pag-convert ng YAML sa JSON ang nilalaman?
Ang nilalaman ay pinapanatili nang tumpak hangga't maaari. Gayunpaman, maaaring walang direktang katumbas ang ilang feature na partikular sa format, kaya maaaring magkaroon ng maliliit na pagkakaiba sa pag-format.
Bakit i-convert ang data sa JSON format?
Ang JSON ay ang karaniwang format ng data para sa mga web API at JavaScript application. Ito ay nababasa ng tao, malawak na sinusuportahan ng mga programming language, at may mas simpleng syntax kaysa sa XML.
Pinangangasiwaan ba ng converter ang mga nested o kumplikadong istruktura ng YAML?
Oo. Na-parse nang tama ng tool ang mga nested na bagay, array, at lahat ng karaniwang uri ng data ng YAML, na pinapanatili ang buong istraktura ng data sa output ng JSON.
Secure at pribado ba ang conversion na ito?
Oo. Ang lahat ng pagproseso ay nangyayari nang lokal sa iyong browser. Ang iyong data ay hindi kailanman umaalis sa iyong device — walang pag-upload ng server, walang pagpoproseso ng ulap, walang pangongolekta ng data.
Malinis ba ang aking YAML round-trip?
Sa istruktura, oo kung muli mong ilalabas ang JSON pabalik sa YAML. Nawala ang mga komento at anchor structure; pinapanatili ang mga hilaw na halaga.
Na-upload ba ang aking data sa isang server?
Hindi. Tumatakbo ang js-yaml sa iyong browser.
Ano ang maximum na sukat?
Hanggang 50 MB. Ang js-yaml ay agad na humahawak ng mga tipikal na configuration file; ang napakalaking YAML ay maaaring tumagal ng kapansin-pansing oras upang ma-parse.
Sinusuportahan ba nito ang multi-document na YAML?
Sinusuportahan ng YAML ang maramihang mga dokumento sa isang file na pinaghihiwalay ng ---. Pinoproseso ng converter ang unang dokumento bilang default; para sa multi-document handling, hatiin muna ang YAML.