JSON ke YAML
Masukkan kode JSON dan dapatkan hasil berupa file YAML yang bersih: penjelajaran dua ruang yang benar, string dikutip hanya saat diperlukan, nilai berbaris ditampilkan sebagai skalar blok, serta opsi pengurutan kunci berdasarkan huruf. Sangat berguna untuk mengonversi respons API menjadi manifest Kubernetes, konfigurasi GitHub Actions, atau alat lain yang mendukung format YAML secara langsung.
Cara Mengonversi JSON ke YAML
-
1
Memasukkan JSON
Semua format JSON yang valid. Konverter ini secara akurat mempertahankan struktur semantiknya.
-
2
Pilih indentasi dan gaya
2 atau 4 ruang; gaya aliran untuk array atau objek yang kompak, atau gaya blok untuk teks berbentuk panjang.
-
3
Opsional: urutkan kunci
Pengurutan berdasarkan abjad memudahkan perbandingan perubahan antara dua versi YAML.
-
4
Salin YAML
Tempelkan ke dalam berkas `.yaml`/`.yml` Anda. Hasilnya merupakan format YAML versi 1.2 yang valid.
Contoh
Masukan:
{
"name": "hyperion",
"replicas": 3,
"env": { "DEBUG": "false", "LOG_LEVEL": "info" },
"command": ["php", "artisan", "queue:work"]
}
Hasil:
name: hyperion
replicas: 3
env:
DEBUG: "false"
LOG_LEVEL: info
command:
- php
- artisan
- queue:work
Pemetaan Tipe
| JSON | YAML |
|---|---|
| string | nilai skalar tanpa kutipan, terkutip, atau dalam bentuk blok sesuai kebutuhan |
| bilangan bulat | 42 |
| angka | 3.14 |
| boolean | true / false |
| null | null (atau ~, atau kosong) |
| array | urutan blok dengan - atau aliran [...] |
| objek | pemetaan blok menggunakan key: value atau aliran {...} |
Ketika string perlu dikutip
YAML secara otomatis menganggap beberapa string sebagai nilai non-string. Nilai yang memiliki bentuk seperti ini perlu ditulis dalam tanda kutip:
| Nilai | Alasan penggunaan kutipan |
|---|---|
yes, no, on, off |
Diperlakukan sebagai nilai boolean (kompatibilitas dengan YAML 1.1) |
null, Null, NULL |
Ditafsirkan sebagai null |
1.23 |
Ditafsirkan sebagai angka |
2026-04-18 |
Ditafsirkan sebagai tanggal |
| Ruang kosong di awal/akhir | Akan dihapus |
Dimulai dengan *, &, ! |
Direktif YAML |
Konverter secara otomatis menuliskan keterangan tersebut dalam tanda kutip, sedangkan bagian lainnya tidak ditulis dengan kutip agar lebih mudah dibaca.
Perbedaan desain antara YAML dan JSON
- Komentar: YAML mendukung fitur ini (
#), sedangkan JSON tidak. - Anker/alias: YAML mendukung referensi silang (
&anchor/*alias); JSON hanya mengulangi data tersebut. Konversi tidak dapat menentukan nilai ini secara otomatis; tambahkan secara manual jika diperlukan. - String berbilang baris: YAML menggunakan skalar blok (
|mempertahankan baris baru, sedangkan>menggabungkan baris-baris tersebut). Konverter menggunakan mekanisme ini untuk string yang panjang. - Representasi nol: YAML memungkinkan nilai
null,~, atau kosong. Konverter secara default menghasilkan nilainull.
Kesalahan Umum
- “Masalah Norwegia” pada YAML 1.1. Tanpa tanda kutip,
NObernilai booleanfalsedi YAML 1.1. Sebagian besar parser modern menggunakan YAML 1.2, yang hanya menganggaptrue/falsesebagai boolean, tetapi beberapa alat lama masih bermasalah. - Ruang kosong di akhir nilai: YAML mempertahankannya pada skalar blok, tetapi menghilangkannya pada skalar biasa. Hal ini dapat menimbulkan kesulitan jika Anda tidak mengetahui format yang sebenarnya digunakan.
- Tab dalam penjelajaran (indentation). YAML melarang penggunaan tab dalam penjelajaran; selalu gunakan spasi.
- String tunggal yang sangat panjang: pecahkannya menjadi skalar blok agar lebih mudah dibaca; konverter akan melakukan hal ini secara otomatis ketika panjang melebihi ambang batas yang dapat dikonfigurasi.
Pertanyaan yang Sering Diajukan
String yang menyerupai jenis YAML lainnya (bool, angka, tanggal, null) perlu dikurung dengan tanda kutip agar tetap berupa string. String yang mengandung karakter khusus (ruang kosong di awal atau karakter yang tidak dapat dicetak) juga harus dikurung. Konverter akan mendeteksi secara otomatis dan memasukkan tanda kutip pada bagian yang memerlukannya.
Secara default menggunakan YAML 1.2. Jika Anda memerlukan kompatibilitas dengan YAML 1.1 (untuk alat lama atau beberapa sistem CI), aktifkan opsi “Kompatibilitas YAML 1.1”; konverter akan menambahkan tanda kutip tambahan untuk nilai-nilai yang merupakan nilai boolean menurut versi 1.1 (yes, no, on, off).
Ya. Gaya aliran ([1, 2, 3] dan { a: 1 }) tersedia untuk array dan objek berukuran kompak. Sebagian besar file konfigurasi lebih memilih gaya blok agar lebih mudah dibaca.
Ya, dengan satu catatan penting: file YAML untuk K8s sering mengandung komentar dan anchor yang tidak dapat diwakili oleh format JSON. Ubah bentuk data terlebih dahulu, lalu tambahkan komentar atau anchor secara manual.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Pemformat HTML
Format HTML secara lokal di browser dengan inden dua atau empat spasi. HTML tidak diunggah atau divalidasi.
Generator EditorConfig
Buat file .editorconfig dengan gaya dan ukuran indentasi, akhir baris, charset, dan aturan spasi Anda untuk format yang konsisten di berbagai IDE dan editor.
Validator Email
Validasi alamat email: pemeriksaan sintaks RFC 5322, pengecekan live record MX, serta detail bagian lokal, domain, dan panjang. Tidak ada email yang dikirim.
Alat ini tersedia dalam bahasa lain
- JSON till YAML [SV]
- من JSON إلى YAML [AR]
- JSON naar YAML [NL]
- JSON do YAML [PL]
- Chuyển đổi JSON sang YAML [VI]
- JSON เป็น YAML [TH]
- JSON a YAML [ES]
- JSONからYAMLへ [JA]
- JSON vers YAML [FR]
- JSON zu YAML [DE]
- JSON para YAML [PT]
- JSON → YAML [KO]
- JSON в YAML [RU]
- JSON'ten YAML'a [TR]
- JSON 至 YAML [ZH]
- JSON to YAML [EN]
- JSON a YAML [IT]