Pengonversi YAML ke JSON

Pengonversi YAML ke JSON kami menguraikan dokumen YAML 1.2 yang valid dan menghasilkan format JSON yang setara secara real time. Tempel manifes Kubernetes, file Docker Compose, playbook Ansible, atau spesifikasi OpenAPI dan langsung lihat format JSON-nya — dengan tetap mempertahankan tipe dengan benar (angka tetap angka, true/false tetap boolean, null tetap null) dan membersihkan komentar. Bendera validasi mendeteksi kesalahan indentasi, ambiguitas pemaksaan tipe, dan sintaksis yang tidak didukung (anchor, aliran multi-dokumen) dengan pesan yang jelas. Semuanya berjalan di browser Anda, sehingga rahasia dan konfigurasi tidak pernah meninggalkan perangkat Anda. Gunakan untuk isi permintaan API, pemrosesan konfigurasi terprogram, atau alat apa pun yang menggunakan JSON alih-alih 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 Mengubah YAML ke JSON dalam 3 Langkah: Tempel, Uraikan, Salin

content_paste

Tempel YAML

Tempel dokumen YAML 1.2 apa pun — manifest Kubernetes, file Compose, playbook Ansible, spesifikasi OpenAPI, atau konfigurasi kustom. Parser memvalidasi saat Anda mengetik.

swap_horiz

Konversi

JSON muncul secara instan dengan nilai yang benar secara jenis (angka tetap angka, true/false tetap boolean), komentar dihapus, dan jangkar diperluas secara sebaris. Pilih output 2 spasi, 4 spasi, atau diperkecil (minified).

content_copy

Salin atau Unduh

Klik Salin untuk papan klip atau Unduh untuk menyimpan sebagai file `.json` yang siap untuk isi permintaan API, kubectl apply melalui stdin, atau pemrosesan konfigurasi terprogram.

fact_check

Validasi

YAML yang tidak valid menampilkan galat penguraian beserta baris dan kolomnya. Perbaikan umum: ganti tab dengan spasi, perbaiki indentasi, beri tanda kutip pada string yang ambigu.

The Formula

Konversi YAML ke JSON menguraikan teks YAML menjadi struktur dalam memori (peta blok → objek, urutan → susunan, skalar → nilai bertipe), lalu memancarkannya kembali sebagai JSON. Inferensi tipe mengikuti skema inti YAML 1.2: `true`/`false` mentah → boolean, `null`/`~` atau kosong → null, regex integer/float → angka, selebihnya → string (string bertanda kutip akan selalu tetap menjadi string). Komentar (`#`) dihapus. Jangkar (`&`/`*`) diperluas secara inline. Keamanan bolak-balik tetap terjaga: menguraikan kembali JSON ke YAML akan menghasilkan model data yang sama (dikurangi komentar dan berbagi jangkar).

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

lightbulb Variables Explained

  • input String YAML 1.2 mentah (peta gaya blok, urutan, dan skalar)
  • parse YAML() Melakukan tokenisasi berdasarkan indentasi, menelusuri pohon, menyimpulkan tipe per skema inti YAML 1.2
  • JSON.stringify() Memancarkan JSON kanonik per RFC 8259 dengan indentasi yang dipilih
  • indent Jumlah spasi per level dalam keluaran JSON (0 = diperkecil)

tips_and_updates Pro Tips

1

Boolean YAML 1.2 HANYA berupa true/false — `yes`, `no`, `on`, `off` adalah string (tidak seperti YAML 1.1 yang berupa boolean)

2

Nilai kosong menjadi null di JSON — tulis `null` atau `~` secara eksplisit untuk memperjelas maksud sebelum konversi

3

String bertanda kutip dalam YAML tetap berupa string di JSON, meskipun terlihat seperti angka (`"01234"` tetap berupa string)

4

Komentar (`#`) dihapus — JSON tidak mendukung komentar; tetap simpan komentar di sumber YAML jika Anda memerlukannya

5

Anchor (`&name`) dan alias (`*name`) diperluas secara inline — keluaran JSON terurai sepenuhnya, tanpa referensi bersama

6

Aliran YAML multi-dokumen (dipisahkan oleh `---`) perlu dipisah sebelum konversi — JSON adalah dokumen tunggal

7

Untuk konsumsi API, pilih JSON minimalis (tanpa indentasi) untuk mengurangi ukuran payload sebesar 20-60%

8

Putar balik (Round-trip) YAML → JSON → YAML akan menghilangkan komentar dan struktur anchor, tetapi model data tetap dipertahankan

9

Validasi keluaran JSON terhadap Skema JSON jika konsumen hilir Anda ketat mengenai tipe bidang

10

Untuk file YAML yang sangat besar (10MB+), lebih disukai menggunakan alat baris perintah seperti `yq -o json input.yaml` daripada konversi browser

Ubah dokumen YAML 1.2 yang valid menjadi JSON bersih secara instan — tempel, urai, salin. Konverter ini menangani nesting yang dalam, menyimpulkan tipe secara benar per skema inti YAML 1.2 (hanya `true`/`false` yang merupakan boolean, tanpa bug Norwegia), menghapus komentar, memperluas jangkar secara inline, dan memancarkan JSON kanonik per RFC 8259. Semuanya berjalan di peramban Anda, sehingga rahasia Kubernetes, kunci API, dan payload JWT tidak pernah meninggalkan perangkat Anda. Di bawah ini: cara kerja konversi di balik layar, perbedaan YAML vs DevOps yang penting untuk DevOps, pola konversi untuk Kubernetes / Docker Compose / Ansible / OpenAPI, kendala umum YAML (bug Norwegia, galat tab, ekspansi jangkar), dan lembar contekan untuk bolak-balik dengan aman.

Konverter YAML ke JSON Online: Ubah YAML Apa Pun Menjadi JSON Secara Instan

Tempel YAML yang valid — manifest Kubernetes, file Compose, playbook Ansible, spesifikasi OpenAPI, atau dokumen YAML 1.2 apa pun — dan konverter akan menghasilkan padanan JSON secara real time.

Konversi berjalan sepenuhnya di peramban Anda menggunakan parser YAML 1.2, lalu menelusuri pohon yang diuraikan dan mengeluarkan JSON melalui JSON.stringify (per ECMA-404 / RFC 8259).

Pilih gaya keluaran Anda:

  • 2-spasi (baku, ramah pembaca)
  • 4-spasi (beberapa basis kode perusahaan)
  • diperkecil (API, payload jaringan)

Keluaran siap ditempel ke file `.json` atau disalurkan ke `kubectl apply -f -` (yang menerima JSON melalui stdin). Panel sebelah kanan menampilkan hitungan byte dan baris secara langsung sehingga Anda dapat memeriksa ukuran sebelum melakukan commit.

Cara Mengubah YAML ke JSON: Alur Kerja 3 Langkah untuk Pengembang

Mengubah YAML ke JSON membutuhkan tiga langkah:

  • Langkah 1: Tempel YAML Anda ke editor. Parser memvalidasi saat Anda mengetik — YAML yang tidak valid menunjukkan galat penguraian yang tepat beserta baris dan kolomnya.
  • Langkah 2: Keluaran JSON muncul secara langsung di panel kanan. Tidak perlu mengklik tombol; setiap ketukan tombol akan mengurai ulang.
  • Langkah 3: Klik Salin (papan klip) atau Unduh (file `.json`).

Untuk alur kerja terprogram, logika yang sama diekspos melalui endpoint `/api/calculate` — POST YAML ke endpoint tersebut dan terima JSON di dalam isi respons.

Keamanan bolak-balik: ubah JSON kembali ke YAML dengan Konverter JSON ke YAML yang terkait; model data dipertahankan secara akurat (komentar dan jangkar khusus YAML dan tidak terbawa dalam proses bolak-balik).

YAML vs JSON: Perbedaan Utama dalam Sintaksis, Komentar, dan Penanganan Tipe

YAML dan JSON merepresentasikan model data yang sama — peta (objek), urutan (susunan), dan skalar (string/angka/boolean/null) — tetapi dengan sintaksis permukaan yang sangat berbeda.

YAML digerakkan oleh indentasi: nesting disiratkan oleh indentasi 2 spasi, urutan menggunakan awalan `- `, dan sebagian besar string tidak memerlukan tanda kutip. JSON sarat dengan kurung kurawal dan tanda kutip: setiap kunci menggunakan `"`, setiap peta menggunakan `{}`, setiap susunan menggunakan `[]`, dan setiap pemisah bersifat eksplisit (`:` dan `,`).

YAML mendukung komentar (`#`), jangkar dan alias untuk penggunaan ulang (`&name` / `*name`), aliran multi-dokumen (`---`), dan tag tipe eksplisit (`!!str`, `!!int`) — keunggulan yang menjadikannya pilihan tepat untuk konfigurasi yang dikontrol sumbernya. JSON diuraikan 5–10× lebih cepat, bebas dari ambiguitas, dan merupakan pilihan tepat untuk API dan penyimpanan.

Lakukan konversi pada batasnya: YAML untuk manusia, JSON untuk mesin.

Ubah YAML Bersarang ke JSON: Peta, Urutan, dan Pohon yang Dalam

Nesting yang dalam adalah keunggulan dari konversi YAML ke JSON — melacak indentasi secara manual pada 5+ level rentan terhadap galat. Konverter menelusuri pohon YAML yang diuraikan secara rekursif.

  • Untuk setiap peta blok, kunci dipancarkan sesuai urutan sumber dengan sintaksis JSON `"key": value`; nilai bersarang mendapatkan kurung kurawal `{...}`.
  • Untuk setiap urutan blok, item dipancarkan sebagai susunan JSON `[...]`; objek bersarang di bawah tanda `-` menjadi elemen susunan `{...}`.

Struktur campuran — urutan peta, peta yang berisi urutan peta, secara rekursif — semuanya dikonversi secara benar. Kedalaman maksimum hanya dibatasi oleh tumpukan panggilan peramban Anda (~10.000+ bingkai di peramban modern, jauh melampaui konfigurasi realistis apa pun).

Uji dengan fixture Anda sendiri: uraikan kembali keluaran JSON ke YAML dan pastikan kesamaan struktural dengan masukan.

Inferensi Tipe YAML: Boolean, Angka, Null, dan Masalah Norwegia

Inferensi tipe YAML yang longgar adalah sumber dari banyak bug dalam konfigurasi dunia nyata. YAML 1.2 (standar modern, target dari konverter ini) memperketat aturan agar lebih aman.

  • Boolean: HANYA `true` dan `false` (tidak sensitif huruf besar-kecil). YAML 1.1 juga memperlakukan `yes`/`no`/`on`/`off` sebagai boolean, yang secara terkenal merusak konfigurasi yang berisi kode negara Norwegia `NO` (secara diam-diam diubah menjadi `false`) — yang disebut 'masalah Norwegia'. Sebagian besar parser modern (js-yaml, PyYAML 6+, Snakeyaml) secara bawaan menggunakan perilaku 1.2.
  • Null: `null`, `~`, atau nilai kosong semuanya menjadi JSON null.
  • Angka: pola digit yang cocok dengan sintaksis integer/float JSON menjadi angka JSON; selebihnya tetap berupa string.
  • String: nilai bertanda kutip akan selalu tetap menjadi string; string numerik seperti kode pos (`"01234"`) dan tanggal kalender memerlukan tanda kutip dalam YAML agar selamat dari konversi — ketika sebuah konfigurasi menyimpan tanggal yang pertama kali Anda hitung dengan kalkulator tanggal, bungkus dalam tanda kutip agar parser menyimpannya secara utuh alih-alih memaksa mengubahnya.

Konverter mematuhi aturan-aturan ini secara ketat.

Konversi Berkas YAML Manifest Kubernetes ke JSON untuk API K8s

Kubernetes menerima format YAML dan JSON melalui API server, kubectl, dan pustaka klien. Sebagian besar tim menyimpan YAML dalam kontrol sumber (PR lebih mudah ditinjau) tetapi memberikan JSON ke alat terprogram — pengontrol kustom, alur GitOps, penampil pasca-render Helm, atau webhook.

Tempelkan manifes Anda (Pod, Deployment, Service, ConfigMap, dll.) dan salin hasil JSON-nya. Pengonversi ini mempertahankan hierarki apiVersion, kind, metadata, dan spec dalam urutan kolom — Kubernetes mengharapkan kunci camelCase secara keseluruhan, jadi jika Anda memindahkan kolom dari sumber snake_case, pengonversi huruf besar-kecil memperbaiki penamaannya sebelum Anda menempelkannya.

Validasi dengan `kubectl apply --dry-run=client -f -` (yang menerima JSON pada stdin) sebelum melakukan commit. Untuk manifes multi-sumber yang dipisahkan oleh `---`, pisahkan terlebih dahulu menjadi dokumen individu — JSON tidak memiliki sintaks multi-dokumen.

Konversi YAML Docker Compose, Ansible, dan CI/CD ke JSON

Tiga kasus penggunaan bervolume tinggi di luar Kubernetes:

  • Docker Compose: tempel `docker-compose.yaml` dan salin JSON untuk alat seperti Kompose (memigrasikan Compose ke K8s), orkestrator kustom, atau transformasi konfigurasi terprogram.
  • Ansible: konversi buku panduan (playbooks) ke JSON untuk alat dokumentasi, integrasi CI kustom, atau API REST/GraphQL yang menyimpan definisi buku panduan.
  • Alur CI/CD: GitHub Actions (`.github/workflows/*.yml`), GitLab CI (`.gitlab-ci.yml`), CircleCI, Travis — konversi salah satu dari ini ke JSON untuk analitik, pengeditan terprogram, atau pengarsipan log audit. Pemicu `cron` terjadwal mereka disematkan ke UTC, sehingga pengonversi zona waktu mencegah Anda salah membaca kapan sebuah alur benar-benar berjalan dalam waktu lokal Anda.

Catatan: Ekspresi Jinja2 (`{{ var }}`), sintaks templat Helm (`{{ .Values.x }}`), dan pemformatan serupa tetap berupa string biasa di JSON — ekspresi tersebut tidak dievaluasi oleh pengonversi.

Konversi YAML OpenAPI / Swagger ke JSON untuk Alat API

Spesifikasi OpenAPI 3.x umumnya ditulis dalam YAML (lebih mudah dibaca untuk hierarki jalur/parameter) tetapi dikonsumsi sebagai JSON oleh alat yang lebih lama — build UI Swagger lama, gateway API perusahaan tertentu, dan beberapa pembuat kode.

Tempelkan `openapi.yaml` (atau `swagger.yaml`) Anda dan unduh `openapi.json`. Pengonversi ini mempertahankan penunjuk `$ref` secara persis (tanpa resolusi), definisi skema, contoh respons, dan skema keamanan.

Setelah konversi, validasi dengan validator OpenAPI resmi (Spectral CLI, openapi-cli, swagger-cli) untuk mengonfirmasi kepatuhan skema. Banyak tim menyimpan YAML dalam kontrol sumber dan menghasilkan JSON pada waktu pembuatan — baik `swagger.yaml` maupun `swagger.json` sepenuhnya setara untuk konsumen API.

Kesalahan Penguraian YAML: Tab, Indentasi, dan Perbaikan Umum

Enam kesalahan menyumbang 95% dari kegagalan penguraian YAML:

  • Tab di mana saja dalam indentasi — YAML melarang tab sepenuhnya, bahkan satu karakter tab saja akan merusak penguraian.
  • Indentasi tidak konsisten — kunci tingkat yang sama harus sejajar pada kolom yang persis sama.
  • Spasi hilang setelah `:` pada peta — `key:value` tidak valid; `key: value` sudah benar.
  • Spasi hilang setelah `-` pada urutan — `-item` adalah string yang dimulai dengan tanda hubung; `- item` adalah entri urutan.
  • Karakter khusus tanpa tanda kutip di awal nilai — `@`, `` ` ``, `%`, `*`, `&` memerlukan tanda kutip.
  • Fitur yang tidak didukung dalam pengonversi: jangkar (`&name`), alias (`*name`), dan aliran multi-dokumen (`---`) — untuk ini, gunakan pustaka YAML lengkap seperti js-yaml, PyYAML, atau `yq`.

Pesan kesalahan menunjukkan baris dan kolom tempat penguraian gagal.

Jangkar YAML, Alias, dan Aliran Multi-Dokumen dalam Konversi JSON

Tiga fitur YAML tidak memiliki padanan langsung di JSON dan memerlukan penanganan khusus:

  • Jangkar (`&name`) dan alias (`*name`) memungkinkan YAML mereferensikan sebuah node dan menggunakannya kembali di tempat lain — umum dalam file Compose untuk templat layanan bersama dan CloudFormation untuk parameter bersama. JSON tidak memiliki sintaks referensi, sehingga pengonversi memperluas alias secara inline (setiap alias menjadi salinan lengkap). Data dipertahankan tetapi ukuran JSON menjadi lebih besar dan struktur referensi bersama menjadi hilang.
  • Aliran multi-dokumen (pemisah `---`) mewakili beberapa nilai tingkat atas dalam satu file — umum untuk menggabungkan sumber daya Kubernetes. JSON hanya memiliki nilai akar tunggal per dokumen. Pisahkan YAML menjadi file terpisah terlebih dahulu atau bungkus dokumen dalam array JSON `[doc1, doc2, doc3]`.
  • Komentar (`#`) khusus untuk YAML — komentar dihapus sepenuhnya selama konversi. Pertahankan YAML sebagai sumber kebenaran jika komentar penting.

Keamanan Pulang-Pergi (Round-Trip): YAML → JSON → YAML dan Kasus Tepi

Lima pertimbangan pulang-pergi yang harus diketahui setiap pengembang:

  • Model data: YAML → JSON → YAML mempertahankan kunci, nilai, jenis data, dan penyarangan secara persis. Datanya identik saat masuk dan keluar kembali.
  • Komentar: hilang selamanya — JSON tidak memiliki sintaks komentar. Pertahankan YAML sebagai sumber kebenaran jika Anda memiliki dokumentasi inline.
  • Jangkar/alias: diperluas saat menuju JSON, tidak pernah dibuat ulang saat kembali. YAML keluaran memiliki konten duplikat di tempat sumber memiliki referensi bersama.
  • Urutan kunci: YAML mempertahankan urutan sumber; pengonversi mempertahankannya hingga JSON; pulang-pergi kembali ke YAML mempertahankan urutan yang sama.
  • Tag tipe (`!!str`, `!!int`) — hanya dikeluarkan saat diperlukan untuk penghilangan ambiguitas. String `"01234"` bertahan dalam pulang-pergi karena JSON menjaganya tetap bertanda kutip; YAML tanpa tanda kutip `01234` diurai sebagai bilangan bulat dan melakukan pulang-pergi sebagai angka 1234, sehingga menghilangkan angka nol di depan.

Beri tanda kutip pada nilai yang ambigu sebagai perlindungan.

Lembar Contek YAML ke JSON: Pemetaan Tipe, Alat, dan Praktik Terbaik

Pemetaan tipe sekilas:

  • Peta YAML → Objek JSON
  • Urutan YAML → Array JSON
  • Skalar YAML (per inferensi tipe) → String/angka/boolean/null JSON
  • Tag YAML !!str → String JSON (dipaksa)
  • YAML null/~/kosong → JSON null
  • YAML true/false → Boolean JSON
  • Pola bilangan bulat YAML → Bilangan bulat JSON
  • Pola float YAML → Angka JSON

Perbandingan alat:

  • pengonversi ini (peramban, instan, tanpa instalasi, 95% dari YAML asli)
  • `yq -o json` (CLI, file besar, kueri JSONPath)
  • `js-yaml`/`PyYAML` (pustaka lengkap, jangkar dan multi-dokumen didukung, penggunaan terprogram)

Praktik terbaik:

  • Selalu beri tanda kutip pada nilai yang ambigu (yes/no/on/off/null/ID numerik) dalam sumber YAML.
  • Gunakan indentasi 2 spasi (standar de facto).
  • Validasi keluaran JSON terhadap skema konsumen hilir Anda (Skema JSON, OpenAPI, K8s OpenAPI) — kesalahan tipe muncul di sini.
  • Pertahankan YAML sebagai sumber kanonis dan buat ulang JSON pada waktu pembuatan jika memungkinkan.
code

Embed this Pengonversi 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="Pengonversi 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">Pengonversi 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