JSON to YAML Converter
I-convert ang JSON sa YAML at YAML sa JSON sa iyong browser, suportado ang anchor, merge key at mga file na maraming document. Walang ina-upload.
Paano gamitin ang JSON to YAML converter
- Piliin ang direksyon: JSON → YAML o YAML → JSON.
- I-paste ang iyong data, o i-click ang Buksan ang file para mag-load ng
.json,.yamlo.ymlfile (hanggang 10 MB). - Piliin ang Indentation (2 o 4 na espasyo) at, kung gusto mo, Ayusin ang mga key nang alpabetiko.
- I-click ang I-convert, o magpatuloy lang sa pag-type: awtomatikong nag-a-update ang resulta. Kung invalid ang input, ibinibigay ng mensahe ng error ang linya at column ng problema.
- Kopyahin o i-download ang resulta. Ibinabalik ng Baliktarin ang direksyon ang output sa input para ma-convert ito sa kabilang direksyon.
JSON at YAML: parehong data, magkaibang syntax
Sa praktika, superset ng JSON ang YAML: ang bawat JSON document ay naglalarawan ng data na kayang ipahayag ng YAML, at nagdaragdag ang YAML ng mas magaang syntax na mas madaling basahin at i-edit ng tao. Kaya karaniwang nakasulat sa YAML ang mga Kubernetes manifest, Docker Compose file, GitHub Actions at GitLab CI pipeline, Ansible playbook at OpenAPI specification, habang JSON ang pinagpapalitan ng mga API at programa.
Ang parehong data sa dalawang format:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Nagsusulat ang converter ng block-style na YAML: isang key bawat linya, mga listahang may gitling, at naka-indent ang mga nested na object. Hindi kailanman tinutupi ang mahahabang string, at ang mga string na maraming linya ay gumagamit ng literal na istilong | para eksaktong mapanatili ang mga line break. Ang mga string na mababasa sana ng YAML bilang ibang uri ay nilalagyan ng panipi: ang "yes", "1.0" o "null" ay nananatiling string pagkatapos ng round trip. Ang Ayusin ang mga key ay nag-aayos nang alpabetiko sa mga key ng bawat object, na nagpapadali sa paghahambing ng dalawang configuration file.
YAML → JSON
Binabasa ang YAML gamit ang YAML 1.2 core schema, ang parehong mga tuntuning ginagamit ng karamihan ng modernong tool:
- Ang
true/false, mga numero atnull(o~) ay nagiging mga value ng JSON; angyes,no,onatoffay nananatiling string, ayon sa hinihingi ng YAML 1.2 specification. - Ang mga anchor at alias (
&base,*base) ay pinalalawak, at sinusuportahan ang mga merge key (<<: *base), na karaniwan sa mga CI file. - Ang file na may ilang document na pinaghihiwalay ng
---ay nagiging JSON array na may isang elemento bawat document, at sinasabi ng mensahe kung ilan ang pinagsama. - Inaalis ang mga komento, dahil walang komento ang JSON.
- Walang katumbas sa JSON ang
.infat.nan; isinusulat ang mga ito bilang mga string na"Infinity"at"NaN".
Para protektahan ang iyong browser laban sa mga file na “billion laughs”, kung saan ang ilang alias ay lumalawak sa bilyun-bilyong value, tinatanggihan ang document na lumalawak sa mahigit isang milyong value.
Mga karaniwang pagkakamali sa YAML
- Mga tab para sa indentation: espasyo lang ang pinapayagan ng YAML.
- Hindi pare-parehong indentation: dapat magsimula sa parehong column ang mga item ng iisang listahan o object.
- Kulang na espasyo pagkatapos ng colon: ang
key:valueay iisang string, habang angkey: valueay pares ng key at value. - Mga espesyal na character na walang panipi: ang value na nagsisimula sa
@, backtick,*,&o!, o may:o#, ay dapat lagyan ng panipi.
Mga madalas itanong
Ipinapadala ba sa server ang file ko?
Hindi. Tumatakbo sa iyong browser ang conversion, at hindi umaalis sa iyong computer ang iyong mga configuration file, sikreto o data ng API.
Bakit hindi kino-convert sa boolean ang "yes" at "no"?
Mula sa YAML 1.2, ang true at false lang ang mga boolean. Ang mas lumang mga parser ng YAML 1.1 ay itinuring na boolean ang yes, no, on at off, na nagdulot ng tanyag na “Norway problem” (ang country code na NO ay nabasa bilang false). Sinusunod ng tool na ito ang YAML 1.2.
Napapanatili ba ang mga komento ng YAML?
Hindi. Walang komento ang JSON, kaya nawawala ang mga ito sa YAML → JSON. Kapag nagko-convert ng JSON → YAML, maaari kang magdagdag ng mga komento sa resulta pagkatapos.
Puwede ko bang i-convert ang Kubernetes file na maraming resource?
Oo. Ang bawat resource na pinaghihiwalay ng --- ay nagiging isang elemento ng JSON array. Ang pag-convert ng array na iyon pabalik sa YAML ay nagbibigay ng iisang document na may listahan.
Binabago ba ng converter ang pagkakasunod ng mga key?
Hindi, maliban kung lagyan mo ng check ang Ayusin ang mga key: pinananatili ng mga key ang pagkakasunod kung paano lumilitaw ang mga ito sa iyong input. Ang tanging eksepsyon ay mula mismo sa JavaScript: ang mga key na buong numero, gaya ng "10" o "2", ay inilalagay muna, sa pataas na ayos.
Mga kaugnay na tool
- JSON Formatter at Validator Libreng JSON formatter at validator na nagbi-beautify, nagmi-minify at nagsusuri ng JSON sa iyong browser, may ulat ng syntax error ayon sa linya at column.
- JSON to CSV Converter I-convert ang JSON sa CSV at CSV pabalik sa JSON sa iyong browser. Nafa-flatten ang mga nested na key bilang column, natutukoy ang delimiter, walang ina-upload.
- JSON to XML Converter I-convert ang JSON sa XML at XML sa JSON sa iyong browser, may attribute, paulit-ulit na element at CDATA. Walang ina-upload sa server.