YAML to JSON Converter
Mag-paste ng YAML (Kubernetes manifest, Docker Compose, CI config) at makakuha agad ng malinis na JSON. Ipinapakita ng mga error ang eksaktong linya na may pointer.
Tumatakbo sa browser moWalang sign-upWalang ina-upload
Paano gamitin ang YAML to JSON
- I-paste ang YAML sa kaliwang box o magbukas ng
.yaml/.ymlna file. - Lumalabas ang JSON sa kanan habang nagta-type ka. Pumili ng 2 space, 4 space o tab para sa output.
- I-tick ang Ayusin ang mga key para ayusin nang alpabetikal ang mga key. Nakakatulong ito kapag nagkukumpara ng mga config.
- Kapag invalid ang YAML, ipinapakita ng status bar ang linya at column, at lumalabas sa ibaba nito ang mga may-problemang linya na may
^na marker. - Kopyahin o i-download ang JSON, o pindutin ang Pagpalitin para i-convert ito pabalik sa YAML.
Paano nagiging JSON ang YAML
Subset ng YAML 1.2 ang JSON, kaya nagiging JSON object ang bawat YAML mapping, nagiging array ang bawat sequence, at nagiging string, number, boolean o null ang mga scalar. Nireresolba habang nagko-convert ang mga feature na sa YAML lang mayroon:
- Mga comment (
# …) ay inaalis, dahil walang comment ang JSON. - Mga anchor at alias (
&base,*base,<<: *base) ay pinalalawak sa buong kopya. - Mga timestamp gaya ng
2024-01-02ay nagiging ISO 8601 na string. - Mga multi-line na string (
|literal at>folded block) ay nagiging ordinaryong string na may\nescape.
Multi-document na YAML
Puwedeng maglaman ang iisang file ng ilang YAML document na pinaghihiwalay ng ---, gaya ng karaniwan sa mga Kubernetes manifest. Walang katumbas nito ang JSON, kaya nagbabalik ang converter ng JSON array na may isang element bawat document at sinasabi ito sa status bar. Hindi pinapansin ang nag-iisang --- sa dulo.
Mga patibong ng YAML 1.1 vs 1.2
Sinusunod ng converter na ito ang YAML 1.2, ang kasalukuyang spec. Maraming lumang tool (PyYAML, Psych ng Ruby, ilang bersyon ng Kubernetes at Ansible) ang nagbabasa pa rin ng YAML 1.1, kung saan iba ang mga patakaran:
- Ang Norway problem: sa YAML 1.1,
falseang ibig sabihin ngcountry: no, kaya nawawala ang country code ng Norway naNO. Ganoon din sayes,on,off,yatn. Sa YAML 1.2,trueatfalselang ang itinuturing na boolean. - Mga octal number: octal ang
0755sa 1.1 pero ordinaryong decimal sa 1.2, na gumagamit ng0o755. Lagyan ng quote ang mga file mode para ligtas. - Mga sexagesimal number: sa 1.1, puwedeng ma-parse ang
22:30bilang number na 1350. Lagyan ng quote ang mga oras at port mapping gaya ng"8080:80".
Awtomatikong nilalagyan ng quote ng direksyong JSON → YAML ang malalabong string ('no', 'on', 'y'), kaya pareho ang basa sa YAML na ginagawa nito sa parehong bersyon.
Mga madalas itanong
Ina-upload ba kahit saan ang YAML ko?
Bakit pumapalya ang YAML ko na may “bad indentation”?
-) sa ilalim ng parent key nila.Ano ang nangyayari sa mga YAML comment?
Bakit nanatiling string ang <code>no</code>?
true/false lang ang boolean. Gagawing boolean ng mga lumang YAML 1.1 parser ang no, yes, on at off (ang “Norway problem”).Puwede ko bang i-convert ang Kubernetes manifest na may ilang resource?
---, handa para sa jq o kubectl apply -f -, na tumatanggap din ng JSON list.