onlinetools.dev

Konverter JSON ↔ YAML ↔ TOML

Konversi antara JSON, YAML, dan TOML dengan deteksi format otomatis

Berjalan lokal
loading…
Tentang alat ini

Konversikan antara JSON, YAML, dan TOML ke segala arah. Format sumbernya dideteksi otomatis sambil Anda menempel — kurung siku mengisyaratkan JSON, titik dua setelah kunci mengisyaratkan YAML, [tabel] mengisyaratkan TOML — dengan penimpaan manual untuk masukan yang ambigu. Konversinya melewati penguraian sungguhan, jadi keluarannya dijamin sah, bukan hasil transformasi teks baris demi baris.

Tiap format punya kekuatan nyata: JSON untuk API dan pertukaran antarmesin, YAML untuk konfigurasi yang disunting manusia (Kubernetes, alur CI), TOML untuk berkas konfigurasi bertipe rapi (Cargo, pyproject). Memindahkan data di antara ketiganya secara manual mengundang salah indentasi dan salah kutip, dan konversi ini menghapus soal itu.

Konverternya jujur soal batasan format: TOML tidak punya larik di tingkat teratas dan tidak mengenal null, jadi saat mengonversi dokumen semacam itu ia menjelaskan alasannya alih-alih diam-diam membuang data.

Pertanyaan yang sering diajukan

Apakah komentar selamat melewati konversi?
Tidak — JSON tidak punya sintaksis komentar, dan konversinya melewati struktur data hasil penguraian, yang tidak membawa komentar. Mengubah YAML → JSON → YAML menghilangkan komentar tanpa bisa dikembalikan; simpan berkas aslinya bila komentar itu penting.
Kenapa “no” di YAML saya berubah menjadi false?
YAML 1.1 memperlakukan yes/no/on/off sebagai boolean, dan kode negara NO terkenal berubah menjadi false. Pengurai di sini mengikuti YAML 1.2 (hanya true/false), tetapi berkas yang ditulis untuk pengurai lama masih bisa mengejutkan. Beri tanda kutip pada string yang menyerupai boolean, angka, atau tanggal.
Kenapa JSON saya gagal dikonversi ke TOML?
TOML mengharuskan tabel (objek) berada di tingkat teratas — larik atau skalar telanjang tidak bisa menjadi dokumen TOML — dan ia tidak mengenal null. Susun ulang datanya (bungkus lariknya di dalam sebuah kunci, buang atau beri nilai bawaan pada null-nya) dan konversinya akan berhasil.
Apakah YAML merupakan superset dari JSON?
Secara praktis ya — YAML 1.2 mengurai hampir semua dokumen JSON, itu sebabnya menempelkan JSON ke dalam konfigurasi YAML biasanya jalan. Sebaliknya tidak berlaku: jangkar, skalar multibaris, dan tag milik YAML tidak punya padanan di JSON sehingga saat dikonversi akan dikembangkan atau dijadikan string.
Alat terkait