JSON to YAML Converter

Gawing malinis at madaling basahing YAML ang JSON para sa Kubernetes, Docker Compose, GitHub Actions o Ansible, na may buong kontrol sa indentation, estilo at quote.

Tumatakbo sa browser moWalang sign-upWalang ina-upload

JSON output

Paano gamitin ang JSON to YAML

  1. I-paste ang JSON sa kaliwang box o magbukas ng .json na file.
  2. Lumalabas ang YAML sa kanan habang nagta-type ka.
  3. Piliin ang indent (2 o 4 space) at estilo: block (isang key bawat linya) o flow ({a: 1}/[x, y]) mula sa isang partikular na nesting level.
  4. Pumili ng estilo ng quote at i-tick ang Ayusin ang mga key kung gusto mo ng alpabetikal na ayos.
  5. Kopyahin o i-download ang YAML. Iniuulat ang invalid na JSON kasama ang linya, column at malamang na dahilan.

Bakit kailangang i-convert ang JSON sa YAML?

Mainam ang JSON para sa mga makina at API, pero mas madaling basahin at i-edit ng tao ang YAML: walang brace, walang sapilitang quote at may suporta sa comment. Naka-configure sa YAML ang karamihan ng infrastructure tool, kasama ang Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI at Ansible, samantalang madalas JSON ang data na pinagsisimulan mo (API output, kubectl get -o json, Terraform state).

Block vs. flow style

Inilalagay ng block style ang bawat key at list item sa sariling linya at ito ang karaniwang pinipili para sa mga config file. Gumagamit ang flow style ng inline na {} at [], gaya ng JSON, at pinapanatiling siksik ang maiikling leaf structure. Pinapanatili ng “Flow mula level 2” sa block style ang dalawang pinakamataas na level at ini-inline ang anumang mas malalim, na bagay sa mahahabang listahan ng maliliit na object gaya ng mga port o env var.

Ligtas na quoting

Awtomatikong nilalagyan ng quote ang mga string na puwedeng magkamali ng basa ang YAML parser: mga value gaya ng 'no', 'on', '1.0', 'null', mga string na nagsisimula sa * o &, at mga string na may : . Piliin ang Laging single o Laging double kung kailangan ng iyong style guide na naka-quote ang bawat string.

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, false ang ibig sabihin ng country: no, kaya nawawala ang country code ng Norway na NO. Ganoon din sa yes, on, off, y at n. Sa YAML 1.2, true at false lang ang itinuturing na boolean.
  • Mga octal number: octal ang 0755 sa 1.1 pero ordinaryong decimal sa 1.2, na gumagamit ng 0o755. Lagyan ng quote ang mga file mode para ligtas.
  • Mga sexagesimal number: sa 1.1, puwedeng ma-parse ang 22:30 bilang 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

Lossless ba ang conversion?
Oo. Valid na YAML 1.2 ang bawat JSON document, at bumabalik sa eksaktong parehong data ang na-generate na YAML kapag na-parse. Masusuri mo ito sa pagpindot ng Pagpalitin.
Bakit may mga string na naka-quote at may hindi?
Sa Kapag kailangan lang, nilalagyan lang ng quote kung saan magbabago ang kahulugan ng value kapag walang quote, halimbawa 'yes', '123' o mga string na may special character. Iniiwang plain ang lahat ng iba para madaling basahin.
Puwede ba akong magdagdag ng comment sa output?
Walang comment ang JSON, kaya walang maico-convert, pero puwede kang magdagdag ng # comments sa YAML pagkatapos itong kopyahin.
Nagbabago ba ang ayos ng key?
Hindi. Nananatili ang ayos ng mga key mula sa JSON maliban kung i-tick mo ang Ayusin ang mga key.
Pribado ba ang data ko?
Oo. Tumatakbo ang converter sa iyong browser at walang ginagawang network request gamit ang iyong input.

Mga kaugnay na tool