Kalkulator Penukaran YAML ke JSON

Penukar YAML ke JSON kami menghurai sebarang dokumen YAML 1.2 yang sah dan mengeluarkan setara JSON dalam masa nyata. Tampal manifes Kubernetes, fail Docker Compose, buku panduan Ansible, atau spesifikasi OpenAPI dan lihat serta-merta bentuk JSON — mengekalkan jenis dengan betul (nombor kekal nombor, true/false kekal boolean, null kekal null) dan membuang komen dengan bersih. Pengesahan menandakan ralat inden, kekaburan paksaan jenis, dan sintaks yang tidak disokong (penambat, strim berbilang dokumen) dengan mesej yang jelas. Semuanya berjalan dalam pelayar anda, jadi rahsia dan konfigurasi tidak pernah meninggalkan peranti anda. Gunakannya untuk badan permintaan API, pemprosesan konfigurasi atur cara, atau mana-mana alat yang menggunakan JSON dan bukannya YAML.

star 4.9
auto_awesome AI
New

YAML ke JSON calculator

info Paste YAML to convert to JSON
0 lines 0 B 0 keys depth 0

lightbulb Tips

  • YAML 1.2: only `true`/`false` are booleans (no yes/no)
  • Comments (#) are stripped — JSON has no comment syntax
  • Anchors (&name) and aliases (*name) get expanded inline
  • Multi-document streams (---) need to be split first
  • Tabs in indentation cause parse errors — use spaces only

Cara Menukar YAML ke JSON dalam 3 Langkah: Tampal, Hurai, Salin

content_paste

Tampal YAML

Tampal sebarang dokumen YAML 1.2 — manifest Kubernetes, fail Compose, buku panduan Ansible, spesifikasi OpenAPI, atau konfigurasi tersuai. Pengurai mengesahkan semasa anda menaip.

swap_horiz

Tukar

JSON muncul serta-merta dengan nilai jenis yang betul (nombor kekal nombor, true/false kekal boolean), ulasan dilucutkan, dan penambat dikembangkan sebaris. Pilih output 2 ruang, 4 ruang, atau dimampatkan.

content_copy

Salin atau Muat Turun

Klik Salin untuk papan keratan atau Muat Turun untuk menyimpan sebagai fail `.json` yang sedia untuk badan permintaan API, kubectl apply melalui stdin, atau pemprosesan konfigurasi pengaturcaraan.

fact_check

Sahkan

YAML yang tidak sah menunjukkan ralat huraian dengan baris dan lajur. Pembetulan biasa: gantikan tab dengan ruang, betulkan inden, letakkan petikan pada rentetan yang samar.

The Formula

Penukaran YAML-ke-JSON menghuraikan teks YAML ke dalam struktur dalam memori (peta blok → objek, urutan → tatasusunan, skalar → nilai bertaip), kemudian menjadikannya semula sebagai JSON. Inferens jenis mengikut skema teras YAML 1.2: `true`/`false` biasa → boolean, `null`/`~` atau kosong → null, regex integer/float → nombor, yang lain → rentetan (rentetan berpetikan kekal sebagai rentetan). Komen (`#`) dilucuthkan. Penambat (`&`/`*`) dikembangkan sebaris. Keselamatan pusingan balik dikehendaki: menghurai semula JSON kepada YAML memberikan model data yang sama (tolak komen dan perkongsian penambat).

parse YAML(input) → JSON.stringify(parsed, null, indent)

lightbulb Variables Explained

  • input Rentetan YAML 1.2 Mentah (peta gaya blok, urutan, dan skalar)
  • parse YAML() Mengekodkan mengikut inden, menyusuri pokok, menyimpulkan jenis mengikut skema teras YAML 1.2
  • JSON.stringify() Mengeluarkan JSON kanonik mengikut RFC 8259 dengan inden terpilih
  • indent Bilangan ruang setiap aras dalam output JSON (0 = diringkaskan)

tips_and_updates Pro Tips

1

Boolean YAML 1.2 HANYA true/false — `yes`, `no`, `on`, `off` adalah rentetan (tidak seperti YAML 1.1 di mana ia adalah boolean)

2

Nilai kosong menjadi null dalam JSON — tulis `null` atau `~` secara jelas untuk menjadikan niat itu jelas sebelum penukaran

3

Rentetan bertanda petikan dalam YAML kekal sebagai rentetan dalam JSON, walaupun ia kelihatan seperti nombor (`"01234"` kekal sebagai rentetan)

4

Komen (`#`) dibuang — JSON tidak mempunyai sokongan komen; simpan komen dalam sumber YAML jika anda memerlukannya

5

Penambat (`&name`) dan alias (`*name`) dikembangkan sebaris — output JSON diselesaikan sepenuhnya, tanpa rujukan berkongsi

6

Strim YAML berbilang dokumen (dipisahkan oleh `---`) perlu dipecahkan sebelum penukaran — JSON adalah dokumen tunggal

7

Untuk penggunaan API, utamakan JSON ringkas (tiada inden) untuk mengurangkan saiz muatan sebanyak 20-60%

8

Pusingan pergi-balik YAML → JSON → YAML kehilangan komen dan struktur penambat, tetapi model data dikekalkan

9

Sahkan output JSON berbanding Skema JSON jika pengguna hiliran anda ketat tentang jenis medan

10

Untuk fail YAML yang sangat besar (10MB+), utamakan alat baris arahan seperti `yq -o json input.yaml` berbanding penukaran pelayar

Tukar sebarang dokumen YAML 1.2 yang sah kepada JSON bersih serta-merta — tampal, huraikan, salin. Penukar ini mengendalikan penyarangan mendalam, menyimpulkan jenis dengan betul mengikut skema teras YAML 1.2 (hanya `true`/`false` adalah boolean, tiada pepijat Norway), melucuthkan komen, mengembangkan penambat sebaris, dan mengeluarkan JSON kanonik mengikut RFC 8259. Semuanya berjalan di dalam pelayar anda, jadi rahsia Kubernetes, kekunci API, dan muatan JWT tidak pernah meninggalkan peranti anda. Di bawah: cara penukaran berfungsi di sebalik tabir, perbezaan YAML vs JSON yang penting untuk DevOps, corak penukaran untuk Kubernetes / Docker Compose / Ansible / OpenAPI, perangkap YAML biasa (pepijat Norway, ralat tab, pengembangan penambat), dan helaian rujukan pantas untuk pusingan balik yang selamat.

Penukar YAML kepada JSON Dalam Talian: Tukar Sebarang YAML kepada JSON Serta-merta

Tampal YAML yang sah — manifest Kubernetes, fail Compose, playbook Ansible, spesifikasi OpenAPI, atau sebarang dokumen YAML 1.2 — dan penukar akan mengeluarkan padanan JSON dalam masa nyata.

Penukaran berjalan sepenuhnya di dalam pelayar anda menggunakan menghurai YAML 1.2, kemudian menyusuri pokok yang dihurai mengeluarkan JSON melalui JSON.stringify (mengikut ECMA-404 / RFC 8259).

Pilih gaya output anda:

  • 2-ruang (lalai, boleh dibaca manusia)
  • 4-ruang (sesetengah kod asas perusahaan)
  • diringkaskan (API, muatan rangkaian)

Output sedia untuk ditampal ke dalam fail `.json` atau disalurkan ke `kubectl apply -f -` (yang menerima JSON melalui stdin). Anak tetingkap sebelah kanan menunjukkan kiraan bait dan baris secara langsung supaya anda boleh menyemak saiz sebelum melakukan komit.

Cara Menukar YAML kepada JSON: Aliran Kerja 3 Langkah untuk Pembangun

Menukar YAML kepada JSON mengambil masa tiga langkah:

  • Langkah 1: Tampal YAML anda ke dalam editor. Pengurai mengesahkan semasa anda menaip — YAML yang tidak sah menunjukkan ralat huraian yang tepat dengan baris dan lajur.
  • Langkah 2: Output JSON muncul secara langsung di anak tetingkap kanan. Tiada klik butang diperlukan; setiap ketukan kekunci menghurai semula.
  • Langkah 3: Klik Salin (papan klip) atau Muat turun (fail `.json`).

Untuk aliran kerja pengaturcaraan, logik yang sama didedahkan melalui titik akhir `/api/calculate` — POST YAML kepadanya dan terima JSON dalam badan respons.

Keselamatan pusingan balik: tukar JSON kembali kepada YAML dengan Penukar JSON ke YAML bersaudara; model data dipelihara tepat (komen dan penambat adalah khusus YAML sahaja dan tidak bertahan dalam pusingan balik).

YAML vs JSON: Perbezaan Utama dalam Sintaks, Komen, dan Pengendalian Jenis

YAML dan JSON mewakili model data yang sama — peta (objek), urutan (tatasusunan), dan skalar (rentetan/nombor/bool/null) — tetapi dengan sintaks permukaan yang sangat berbeza.

YAML didorong oleh inden: penyarangan tersirat oleh inden 2 ruang, urutan menggunakan awalan `- `, dan kebanyakan rentetan tidak memerlukan tanda petikan. JSON sarat dengan pendakap dan tanda petikan: setiap kekunci mendapat `"`, setiap peta mendapat `{}`, setiap tatasusunan mendapat `[]`, dan setiap pembahagi adalah jelas (`:` dan `,`).

YAML menyokong komen (`#`), penambat dan alias untuk digunakan semula (`&name` / `*name`), strim pelbagai dokumen (`---`), dan tag jenis jelas (`!!str`, `!!int`) — kekuatan yang menjadikannya pilihan tepat untuk konfigurasi kawalan sumber. JSON menghuraikan 5–10× lebih cepat, sifar kekaburan, dan merupakan pilihan yang tepat untuk API dan storan.

Tukar pada sempadan: YAML untuk manusia, JSON untuk mesin.

Tukar YAML Bersarang kepada JSON: Peta, Urutan, dan Pokok Mendalam

Penyarangan mendalam di sinilah penukaran YAML-ke-JSON bersinar — menjejaki inden dengan tangan pada 5+ aras adalah mudah terdedah kepada ralat. Penukar menyusuri pokok YAML yang dihurai secara rekursif.

  • Untuk setiap peta blok, kekunci dikeluarkan mengikut urutan sumber dengan sintaks JSON `"key": value`; nilai bersarang mendapat pendakap `{...}`.
  • Untuk setiap urutan blok, item dikeluarkan sebagai tatasusunan JSON `[...]`; objek bersarang di bawah `-` menjadi elemen tatasusunan `{...}`.

Struktur bercampur — urutan peta, peta yang mengandungi urutan peta, secara rekursif — semuanya ditukar dengan betul. Kedalaman maksimum hanya terhad oleh tindanan panggilan pelayar anda (~10,000+ bingkai dalam pelayar moden, jauh melampaui sebarang konfigurasi realistik).

Uji dengan lekapan anda sendiri: huraikan output JSON kembali kepada YAML dan sahkan kesamaan struktur dengan input.

Inferens Jenis YAML: Boolean, Nombor, Null, dan Masalah Norway

Inferens jenis longgar YAML adalah punca kepada banyak pepijat dalam konfigurasi dunia sebenar. YAML 1.2 (standard moden, sasaran penukar ini) mengecilkan peraturan agar lebih selamat.

  • Boolean: HANYA `true` dan `false` (tidak sensitif huruf besar-kecil). YAML 1.1 juga merawat `yes`/`no`/`on`/`off` sebagai boolean, yang terkenal memecahkan konfigurasi yang mengandungi kod negara Norway `NO` (ditukar secara senyap kepada `false`) — 'masalah Norway'. Kebanyakan pengurai moden (js-yaml, PyYAML 6+, Snakeyaml) lalai kepada tingkah laku 1.2.
  • Null: `null`, `~`, atau nilai kosong semuanya menjadi JSON null.
  • Nombor: corak digit yang sepadan dengan sintaks integer/float JSON menjadi nombor JSON; yang lain kekal sebagai rentetan.
  • Rentetan: nilai berpetikan sentiasa kekal sebagai rentetan; rentetan berangka seperti poskod (`"01234"`) dan tarikh kalendar memerlukan tanda petikan dalam YAML untuk bertahan dalam penukaran — apabila konfigurasi menyimpan tarikh yang anda kira dahulu dengan kalkulator umur atau kiraan jam kerja, bungkusnya dalam tanda petikan supaya pengurai menyimpannya secara literal daripada memaksa. Penukar mematuhi peraturan ini dengan ketat.

Tukar Manifest Kubernetes YAML kepada JSON untuk API K8s

Kubernetes menerima kedua-dua YAML dan JSON melalui pelayan API, kubectl, dan pustaka pelanggan. Kebanyakan pasukan mengekalkan YAML dalam kawalan sumber (PR lebih mudah disemak) tetapi memasukkan JSON ke dalam alat pengaturcaraan — pengawal tersuai, talian paip GitOps, pemproses pos Helm, atau webhook.

Gam manifest anda (Pod, Deployment, Service, ConfigMap, dan lain-lain) dan salin output JSON. Penukar ini mengekalkan hierarki apiVersion, kind, metadata, dan spec mengikut urutan medan — Kubernetes menjangkakan kunci camelCase sepenuhnya, jadi jika anda memindahkan medan daripada sumber snake_case, penukar kes membetulkan penamaan sebelum anda gam.

Sahkan dengan `kubectl apply --dry-run=client -f -` (yang menerima JSON pada stdin) sebelum melakukan. Untuk manifest berbilang sumber yang dipisahkan oleh `---`, bahagikan kepada dokumen individu terlebih dahulu — JSON tiada sintaks berbilang dokumen.

Tukar Docker Compose, Ansible, dan CI/CD YAML kepada JSON

Tiga kes penggunaan volum tinggi di luar Kubernetes:

  • Docker Compose: gam `docker-compose.yaml` dan salin JSON untuk alatan seperti Kompose (memindahkan Compose ke K8s), penghantar tersuai, atau transformasi konfigurasi pengaturcaraan.
  • Ansible: tukar buku panduan (playbook) kepada JSON untuk alat dokumentasi, integrasi CI tersuai, atau API REST/GraphQL yang menyimpan definisi buku panduan.
  • Talian paip CI/CD: GitHub Actions (`.github/workflows/*.yml`), GitLab CI (`.gitlab-ci.yml`), CircleCI, Travis — tukar mana-mana daripadanya kepada JSON untuk analisis, suntingan pengaturcaraan, atau arkib log audit. Pencetus `cron` yang dijadualkan ditetapkan kepada UTC, jadi penukar zon masa memastikan anda tidak tersilap membaca bila talian paip benar-benar aktif dalam masa tempatan anda.

Nota: Ungkapan Jinja2 (`{{ var }}`), sintaks templat Helm (`{{ .Values.x }}`), dan pemformatan serupa kekal sebagai rentetan biasa dalam JSON — ia tidak dinilai oleh penukar.

Tukar OpenAPI / Swagger YAML kepada JSON untuk Alat API

Spesifikasi OpenAPI 3.x biasanya dikarang dalam YAML (lebih mudah dibaca untuk pokok laluan/parameter) tetapi digunakan sebagai JSON oleh alat lama — binaan UI Swagger lama, gerbang API syarikat tertentu, dan beberapa penjana kod.

Gam `openapi.yaml` (atau `swagger.yaml`) anda dan muat turun `openapi.json`. Penukar ini mengekalkan penunjuk `$ref` dengan tepat (tiada resolusi), definisi skema, contoh tindak balas, dan skema keselamatan.

Selepas penukaran, sahkan dengan pengesah OpenAPI rasmi (Spectral CLI, openapi-cli, swagger-cli) untuk mengesahkan pematuhan skema. Kebanyakan pasukan mengekalkan YAML dalam kawalan sumber dan mengeluarkan JSON pada masa binaan — kedua-dua `swagger.yaml` dan `swagger.json` adalah setara sepenuhnya untuk pengguna API.

Ralat Huluran YAML: Tab, Penjorokan, dan Pembaikan Biasa

Enam ralat merangkumi 95% kegagalan huluran YAML:

  • Tab di mana-mana dalam penjorokan — YAML melarang tab sepenuhnya, walaupun satu aksara tab memutuskan huluran.
  • Penjorokan tidak konsisten — kunci seinduk mesti selari pada lajur yang sama.
  • Ruang kosong hilang selepas `:` dalam peta — `key:value` adalah tidak sah; `key: value` adalah betul.
  • Ruang kosong hilang selepas `-` dalam jujukan — `-item` ialah rentetan bermula dengan tanda sempang; `- item` ialah kemasukan jujukan.
  • Aksara khas tanpa tanda petunjuk pada permulaan nilai — `@`, `` ` ``, `%`, `*`, `&` memerlukan tanda petunjuk.
  • Ciri yang tidak disokong dalam penukar: sauh (`&name`), alias (`*name`), dan strim berbilang dokumen (`---`) — untuk ini, gunakan pustaka YAML penuh seperti js-yaml, PyYAML, atau `yq`.

Mesej ralat menunjukkan baris dan lajur tempat huluran gagal.

Sauh YAML, Alias, dan Strim Berbilang Dokumen dalam Penukaran JSON

Tiga ciri YAML tiada padanan langsung JSON dan memerlukan pengendalian khas:

  • Sauh (`&name`) dan alias (`*name`) membenarkan YAML merujuk nod dan menggunakannya semula di tempat lain — biasa dalam fail Compose untuk templat perkhidmatan berkongsi dan CloudFormation untuk parameter berkongsi. JSON tiada sintaks rujukan, jadi penukar mengembangkan alias secara sebaris (setiap alias menjadi salinan penuh). Data dikekalkan tetapi saiz JSON lebih besar dan struktur rujukan berkongsi hilang.
  • Strim berbilang dokumen (pemisah `---`) mewakili berbilang nilai tahap atas dalam satu fail — biasa untuk menggabungkan sumber Kubernetes. JSON hanya mempunyai nilai akar tunggal setiap dokumen. Bahagikan YAML kepada fail berasingan dahulu atau bungkus dokumen dalam tatasusunan JSON `[doc1, doc2, doc3]`.
  • Komen (`#`) khusus untuk YAML sahaja — ia dilucutkan sepenuhnya semasa penukaran. Kekalkan YAML sebagai sumber kebenaran jika komen penting.

Keselamatan Perjalanan-Pergi-Balik: YAML → JSON → YAML dan Kes Sempadan

Lima pertimbangan perjalanan-pergi-balik yang perlu diketahui oleh setiap pembangun:

  • Model data: YAML → JSON → YAML mengekalkan kunci, nilai, jenis, dan penyarangan dengan tepat. Data adalah seiras semasa masuk dan keluar semula.
  • Komen: hilang selama-lamanya — JSON tiada sintaks komen. Kekalkan YAML sebagai sumber kebenaran jika anda mempunyai dokumen sebaris.
  • Sauh/alias: dikembangkan semasa menuju ke JSON, tidak pernah dicipta semula dalam perjalanan pulang. YAML output mempunyai kandungan bertindih di mana sumber mempunyai rujukan berkongsi.
  • Urutan kunci: YAML mengekalkan urutan sumber; penukar mengekalkannya hingga ke JSON; perjalanan-pergi-balik kembali ke YAML mengekalkan urutan yang sama.
  • Tag jenis (`!!str`, `!!int`) — hanya dikeluarkan apabila diperlukan untuk penjelasan. Rentetan `"01234"` selamat dalam perjalanan-pergi-balik kerana JSON mengekalkannya bertanda petunjuk; YAML tanpa tanda petunjuk `01234` dihurai sebagai nombor bulat dan melalui perjalanan-pergi-balik sebagai nombor 1234, kehilangan sifar di hadapan.

Beri tanda petunjuk pada nilai kabur secara bertahan.

Nota Ringkas YAML ke JSON: Pemetaan Jenis, Alat, dan Amalan Terbaik

Pemetaan jenis sekilas pandang:

  • Peta YAML → Objek JSON
  • Jujukan YAML → Tatasusunan JSON
  • Skalar YAML (mengikut inferens jenis) → Rentetan/nombor/boolean/null JSON
  • Tag YAML !!str → Rentetan JSON (dipaksa)
  • YAML null/~/kosong → JSON null
  • YAML true/false → Boolean JSON
  • Corak integer YAML → Integer JSON
  • Corak terapung YAML → Nombor JSON

Perbandingan alat:

  • penukar ini (pelayar, serta-merta, tiada pemasangan, 95% YAML sebenar)
  • `yq -o json` (CLI, fail besar, pertanyaan JSONPath)
  • `js-yaml`/`PyYAML` (pustaka penuh, sauh dan berbilang dokumen disokong, kegunaan pengaturcaraan)

Amalan terbaik:

  • Sentiasa beri tanda petunjuk pada nilai kabur (yes/no/on/off/null/ID berangka) dalam sumber YAML.
  • Gunakan penjorokan 2 ruang (standard de-facto).
  • Sahkan output JSON terhadap skema pengguna hiliran anda (Skema JSON, OpenAPI, K8s OpenAPI) — ralat jenis muncul di sini.
  • Kekalkan YAML sebagai sumber kanun dan jana semula JSON pada masa binaan jika boleh.
code

Embed this Kalkulator Penukaran YAML ke JSON on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/yaml-to-json-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Kalkulator Penukaran YAML ke JSON by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/yaml-to-json-converter?utm_source=embed&utm_medium=snippet&utm_campaign=yaml-to-json-converter">Kalkulator Penukaran YAML ke JSON</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags