T

Text Machine

Alat teks andal, di browser Anda

Konverter JSON ↔ YAML

Ubah JSON ke YAML dan YAML kembali ke JSON langsung di browser Anda. Tempel salah satu format untuk mendapatkan output yang rapi dan terindentasi dengan benar — ideal untuk berkas konfigurasi, pipeline CI, dan manifes Kubernetes.

Indentasi

Input JSON
Output YAML

Masukkan data di atas untuk melihat hasil konversinya di sini.

Cara menggunakan Konverter JSON ↔ YAML

  1. 1

    Pilih arah

    Gunakan tombol alih untuk memilih JSON ke YAML atau YAML ke JSON. Tombol tukar memindahkan hasil Anda ke kolom input sehingga Anda dapat mengonversinya kembali ke arah sebaliknya.

  2. 2

    Tempel data Anda

    Tempel JSON atau YAML ke dalam kotak input. Konversi berjalan otomatis saat Anda mengetik, dengan struktur, susunan bersarang, dan tipe data tetap dipertahankan.

  3. 3

    Pilih indentasi

    Pilih indentasi 2 spasi atau 4 spasi agar sesuai dengan gaya proyek Anda. Outputnya tetap rapi dan terindentasi dengan benar untuk kedua format.

  4. 4

    Salin hasilnya

    Tinjau output hasil konversi dan salin ke papan klip Anda, siap ditempelkan ke berkas konfigurasi, pipeline, atau kode Anda.

Dari JSON ke YAML: Konfigurasi yang Lebih Bersih Tanpa Jebakan

YAML adalah superset dari JSON

Setiap dokumen JSON yang valid juga merupakan YAML yang valid — itu adalah jaminan dari spesifikasi YAML, bukan kebetulan. YAML menambahkan lapisan yang lebih bersahabat dengan manusia di atasnya: alih-alih kurung kurawal dan kurung siku, struktur diungkapkan melalui indentasi; alih-alih koma, item berada di barisnya masing-masing; dan tidak seperti JSON, YAML mendukung komentar. Hasilnya terbaca seperti sebuah kerangka alih-alih timbunan data, itulah sebabnya ia mendominasi berkas konfigurasi.

Karena model datanya begitu serupa — keduanya memiliki map, sequence, string, angka, boolean, dan null — mengonversi di antara keduanya bersifat mekanis dan tanpa kehilangan data untuk nilai-nilainya sendiri. Konversi mengungkapkan ulang pohon yang sama dalam sintaks permukaan yang berbeda. Satu-satunya yang tidak dapat bertahan dalam perjalanan bolak-balik JSON adalah komentar, karena JSON tidak memiliki tempat untuk menaruhnya.

Indentasi adalah sintaksnya

Dalam YAML, spasi kosong bukanlah kosmetik — ia adalah strukturnya. Penyusunan bertingkat ditunjukkan dengan mengindentasi kunci anak lebih jauh daripada induknya, dan item pada kedalaman yang sama harus berbagi indentasi yang sama. Sebuah map yang bersarang di bawah sebuah kunci menjadi sekumpulan baris terindentasi di bawahnya; sebuah list menjadi baris-baris yang masing-masing diawali dengan tanda hubung. Salah mengindentasi dan Anda mengubah maknanya, bukan sekadar penampilannya, yang merupakan kebalikan dari cara JSON memperlakukan spasi kosong.

Pilih lebar indentasi yang konsisten — dua spasi adalah default umum untuk berkas konfigurasi, empat untuk sebagian gaya rumah — dan terapkan di mana-mana. Pengonversi memancarkan indentasi yang bersih dan seragam sehingga Anda mulai dari garis dasar yang benar alih-alih menyejajarkan baris dengan tangan.

Tab dilarang

Inilah aturan yang menjebak hampir semua orang pada kali pertama. Spesifikasi YAML secara eksplisit melarang karakter tab untuk indentasi; Anda harus menggunakan spasi. Sebuah editor yang dikonfigurasi untuk menyisipkan tab ketika Anda menekan tombol Tab akan diam-diam menghasilkan berkas yang gagal diurai, sering kali dengan pesan kesalahan yang menunjuk ke tempat yang salah karena pengurai baru menyadari strukturnya rusak satu atau dua baris kemudian.

Jika sebuah berkas YAML menolak dimuat dan indentasinya tampak benar, periksa adanya tab terlebih dahulu. Konfigurasikan editor Anda untuk menampilkan spasi kosong atau untuk mengubah tab menjadi spasi pada berkas YAML. Mengonversi dari JSON mengelak ini sepenuhnya, karena keluaran yang dihasilkan terindentasi-spasi sejak awal.

Masalah Norwegia dan boolean kejutan lainnya

Pengurai YAML yang lebih tua menafsirkan rentang kata telanjang yang mengejutkan sebagai boolean: bukan hanya true dan false, tetapi yes, no, on, dan off dalam berbagai kapitalisasi. Bencana klasiknya adalah daftar kode negara di mana entri untuk Norway, yang ditulis sebagai huruf telanjang n dan o, dibaca sebagai boolean false dan diam-diam lenyap dari data Anda. Bendera sakelar yang ditulis sebagai on atau off dapat berganti tipe dengan cara yang sama.

Pertahanannya adalah pengutipan. Setiap string yang dapat disalahartikan sebagai boolean, angka, tanggal, atau null sebaiknya dibungkus dalam kutip agar pengurai mempertahankannya sebagai teks. Pengurai modern yang dibangun di seputar safe schema lebih ketat dan jauh lebih kecil kemungkinannya untuk ini, tetapi kebiasaan mengutip skalar yang ambigu layak dipertahankan, terutama untuk kode pendek, string yang menyerupai-versi, dan apa pun yang dipasok pengguna.

Lebih banyak jebakan skalar: angka, nol di depan, dan null

Beberapa nilai telanjang lain mengejutkan orang. Sebuah kode pos atau nomor komponen dengan nol di depan dapat dibaca sebagai angka dan kehilangan nolnya, atau ditafsirkan sebagai oktal di sebagian pengurai. String versi seperti 1.20 dapat dipaksa menjadi angka 1.2, menghilangkan nol di akhir. Kata null, sebuah nilai kosong, dan tilde tunggal semuanya berarti null. Seperti pada jebakan boolean, obatnya sama: kutip apa pun yang bentuk teksnya penting.

Karena alat ini mengurai dengan safe schema, ia hanya memuat tipe data standar dan tidak pernah membangun objek sembarang atau mengeksekusi kode, sehingga menempel YAML tak tepercaya tidak dapat menjalankan apa pun. Itu menjaga konversi tetap dapat diprediksi: yang Anda dapatkan kembali adalah map, sequence, dan skalar biasa, tanpa tipe khusus kejutan yang diselundupkan melalui tag.

Di mana YAML sesungguhnya berada

Keterbacaan YAML menjadikannya lingua franca dari infrastruktur dan perkakas CI. Berkas Docker Compose, manifes Kubernetes, pipeline GitHub Actions dan GitLab CI, playbook Ansible, serta berkas konfigurasi aplikasi yang tak terhitung jumlahnya semuanya adalah YAML. Dalam setiap di antaranya, komentar dan diff bersih yang diizinkan YAML adalah keunggulan nyata ketika seorang manusia harus meninjau perubahan pada konfigurasi produksi.

JSON, sebaliknya, tetap lebih cocok untuk pertukaran mesin-ke-mesin melalui API, di mana ketegasannya dan ketiadaan kepekaan-spasi-kosong mengurangi kerancuan. Pola yang umum adalah menulis dan menyunting dalam YAML demi kenyamanan manusia, lalu mengonversi ke JSON ketika sebuah alat atau endpoint menuntutnya — yang persis menjadi alasan pengonversi ini berjalan dua arah.

Gaya blok, gaya alir, dan membaca keluarannya

YAML dapat mengungkapkan data yang sama dengan dua cara. Gaya blok menyebar map dan list ke baris-baris terindentasi dan merupakan apa yang Anda inginkan untuk konfigurasi yang terbaca. Gaya alir menggunakan kurung kurawal dan kurung siku sebaris dan tampak hampir persis seperti JSON, yang sesekali praktis untuk nilai yang pendek dan ringkas yang tertanam dalam dokumen yang lebih besar. Mengetahui keduanya membantu Anda membaca YAML yang ditulis orang lain tanpa kebingungan.

Ketika Anda mengonversi di sini, tempel JSON-nya, pilih lebar indentasi Anda, dan tinjau keluaran gaya-blok sebelum memasukkannya ke dalam sebuah repositori. Semuanya terjadi secara lokal di peramban Anda, sehingga rahasia dalam berkas konfigurasi — token, string koneksi, nama host internal — tidak pernah meninggalkan perangkat Anda, yang membuatnya aman untuk mengonversi manifes penyebaran yang sesungguhnya alih-alih contoh yang sudah disterilkan.

Pertanyaan yang sering diajukan

Apa perbedaan antara JSON dan YAML?
JSON adalah format data yang ketat dengan kurung kurawal dan kurung siku, ideal untuk API dan pertukaran antarmesin. YAML adalah superset JSON yang ramah manusia yang menggunakan indentasi alih-alih kurung kurawal dan mendukung komentar, sehingga populer untuk berkas konfigurasi seperti Docker Compose, GitHub Actions, dan manifes Kubernetes.
Bagaimana cara mengonversi JSON ke YAML?
Tempel JSON Anda ke kolom input dan alat ini akan menguraikannya lalu menghasilkannya kembali sebagai YAML, dengan mempertahankan struktur, susunan bersarang, larik, serta tipe data seperti angka, boolean, dan null. Pilih lebar indentasi agar sesuai dengan konvensi proyek Anda.
Bisakah alat ini mengonversi YAML kembali ke JSON?
Ya. Alihkan arah ke YAML ke JSON, dan alat ini akan mengurai YAML Anda lalu menghasilkan JSON yang valid dan tercetak rapi. Perlu dicatat bahwa komentar YAML tidak ikut terbawa, karena JSON tidak memiliki sintaks komentar.
Apakah mengurai YAML yang tidak tepercaya aman di sini?
Ya. Konverter ini menggunakan skema YAML yang aman, yang hanya memuat tipe data standar — map, sequence, string, angka, boolean, dan null — dan tidak pernah menjalankan kode atau membuat instance tipe khusus. Menempel YAML yang tidak tepercaya tidak dapat menjalankan apa pun di browser Anda.
Apakah data saya diunggah ke server?
Tidak. Semua penguraian dan konversi terjadi sepenuhnya di browser Anda. Data Anda tidak pernah diunggah, dicatat, atau disimpan, sehingga tetap sepenuhnya privat dan alat ini tetap berfungsi bahkan saat Anda sedang offline.

Alat terkait

Lanjutkan dengan alat praktis ini

Konverter JSON ↔ CSV

Konverter Unix Timestamp

Konverter Biner ↔ Desimal

Konverter Desimal ↔ Biner

Konverter CSV ke JSON

Konverter Teks ke Biner