YAML sa JSON Converter
Mabilis at secure na conversion ng YAML sa JSON. Perpekto para sa mga configuration file at pagsusuri ng data.
Mabilis at secure na conversion ng YAML sa JSON. Perpekto para sa mga configuration file at pagsusuri ng data.
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.
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.
I-paste ang YAML, kumuha ng JSON.
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.