Cara memakai
- Tempel berkas TOML ke Dokumen TOML, atau biarkan contoh yang ada di sana.
- Baca Pemeriksaan. Hijau berarti berkas mengikuti TOML 1.0.0. Merah memberi baris dan aturan yang dilanggar berkas.
- Salin keluaran JSON, atau unduh sebagai data.json.
Cara konversi bekerja
Pembaca mengikuti tata bahasa TOML 1.0.0 dan membangun pohon seperti yang dijelaskan spesifikasi. Pohon itu lalu ditulis sebagai JSON dengan indentasi dua spasi, dan kunci mempertahankan urutan berkas, sehingga JSON terbaca seperti TOML.
- Tabel dan sub-tabelnya menjadi objek JSON.
- Larik menjadi larik JSON. Larik tabel, yang ditulis TOML dengan kurung ganda, menjadi larik JSON berisi objek.
- Tabel sebaris menjadi objek JSON. Kuncinya tetap dalam urutan barisnya.
Yang tidak bisa ditampung JSON
- Tanggal, waktu, atau tanggal dengan offset menjadi teksnya, seperti "1979-05-27T07:32:00-08:00". JSON tidak punya tipe tanggal, dan teks itu menyimpan offset serta setiap digit pecahannya.
- Infinity atau NaN menjadi string "inf", "-inf", atau "nan", karena JSON tidak punya angka seperti itu.
- Float tanpa pecahan, seperti 1.0, ditulis sebagai 1.0, dan bilangan bulat seperti 1 ditulis sebagai 1. Pembaca JSON yang hanya mengenal satu jenis angka membacanya sebagai angka yang sama.
Aturan yang diikuti pemeriksaan
Berkas ditolak begitu melanggar aturan spesifikasi. Aturan berikut menyebabkan sebagian besar galat:
- Sebuah kunci hanya bisa didefinisikan sekali. Kunci tanpa tanda kutip dan kunci berkutip dengan nama yang sama adalah kunci yang sama.
- Sebuah header tabel mendefinisikan tabelnya sekali. Tabel yang hanya tersirat oleh header yang lebih panjang boleh didefinisikan kemudian, tetapi tabel yang dibuat oleh kunci bertitik atau oleh tabel sebaris tidak bisa.
- Larik tabel bertambah satu tabel untuk setiap header yang ditulis dengan kurung ganda. Larik statis, seperti yang ditulis dengan sepasang kurung kosong, tidak bisa bertambah dengan cara itu.
- Bilangan bulat adalah angka 64-bit bertanda, dari -9223372036854775808 sampai 9223372036854775807.
Contoh: tanggal, float, dan bilangan bulat besar
Setiap baris memberi satu baris TOML dan nilai JSON yang ditulis alat ini untuknya. Jalankan keempat baris bersama-sama untuk melihat hasil yang sama dalam satu keluaran.
| Baris TOML | Nilai JSON |
|---|---|
| when = 1979-05-27T07:32:00-08:00 | "when": "1979-05-27T07:32:00-08:00" |
| ratio = 1.0 | "ratio": 1.0 |
| port = 8000 | "port": 8000 |
| id = 9223372036854775807 | "id": 9223372036854775807 |
Pertanyaan yang sering diajukan
Mengapa tanggal ditulis sebagai teks dalam JSON?
JSON tidak punya tipe tanggal atau waktu, sehingga alat ini menulis teks yang dimiliki berkas TOML. Teks itu menyimpan offset dan setiap digit pecahannya, sehingga tidak ada yang hilang saat JSON dibaca.
Mengapa 1.0 tetap 1.0 sementara 1 tetap 1?
TOML membedakan bilangan bulat dari float lewat titik atau eksponen, dan JSON menjaga perbedaan itu dalam digit yang ditulisnya. Apakah pembaca JSON mempertahankan perbedaan itu bergantung pada pembacanya.
Mengapa alat ini menolak tabel yang didefinisikan dua kali?
TOML 1.0.0 membiarkan header tabel mendefinisikan tabelnya sekali, dan sebuah kunci hanya sekali. Definisi kedua adalah galat di baris tempat ia ditulis, sehingga JSON tidak pernah memuat nilai yang bertentangan dengan berkas.
Apakah komentar dan urutan kunci dipertahankan?
Komentar dibuang, karena JSON tidak punya komentar. Urutan kunci dipertahankan, sebab anggotanya ditulis dalam urutan berkas.
Bisakah berkas TOML dengan larik multibaris dikonversi?
Bisa. Larik boleh membentang di beberapa baris dan diakhiri koma, sebagaimana diizinkan TOML 1.0.0, dan alat ini menulisnya sebagai satu larik JSON.
Apakah teks yang saya tempel dikirim ke suatu tempat?
Tidak. Konversi berjalan di peramban Anda, dan tidak ada yang Anda tempel yang disimpan atau dikirim kepada kami. Meski begitu, jangan tempel kata sandi atau token ke halaman yang tidak Anda percayai.
Sumber
- Spesifikasi TOML v1.0.0 (dalam bahasa Inggris)
- RFC 8259 (dalam bahasa Inggris): The JavaScript Object Notation (JSON) Data Interchange Format
Angka dan teks terakhir diperiksa pada Rabu, 11 November 2026.