TOML ke JSON
Cargo.toml milik Rust, pyproject.toml milik Python, config.toml milik Hugo: TOML ada di mana-mana dalam dunia konfigurasi modern, sementara banyak perkakas masih hanya berbicara JSON. Tempel TOML Anda di sini dan dapatkan JSON yang terformat rapi: bagian [tabel] menjadi objek bersarang, blok [[array tabel]] menjadi array objek, dan tanggal diteruskan apa adanya sebagai string. Parser ini mencakup inti TOML yang dipakai sehari-hari; batasan nyatanya (nilai multibaris, tabel inline, kunci bertitik) dicantumkan secara terbuka di bawah.
Cara kerja konversi
-
1
Tempel TOML Anda
Masukkan teks ke kotak input lalu tekan Konversi ke JSON. Komentar # yang memenuhi satu baris dilewati secara otomatis.
-
2
Tabel menjadi objek
Header `[server.database]` menjadi objek JSON bersarang, satu tingkat untuk setiap nama yang dipisah titik.
-
3
Array tabel menjadi array
Blok `[[users]]` membentuk array JSON dengan satu objek per blok.
-
4
Nilai skalar mempertahankan tipenya
String berkutip, bilangan bulat dan desimal sederhana, serta true/false menjadi tipe JSON asli; tanggal tetap berupa string, persis seperti yang ditulis.
-
5
Salin JSON-nya
Hasilnya diformat dengan indentasi 4 spasi, kunci tetap pada urutan aslinya, siap disalin.
Pemetaan tipe
| Nilai TOML | Nilai JSON | Contoh |
|---|---|---|
| String (basic atau literal) | String | "hello" → "hello" |
| Bilangan bulat (desimal sederhana) | Angka | 42 → 42 |
| Float (desimal sederhana) | Angka | 3.14 → 3.14 |
| Boolean | Boolean | true → true |
| Array (satu baris) | Array | [1, 2, 3] → [1, 2, 3] |
| Tabel dengan kunci | Objek | [server] + port = 8080 → "server": {"port": 8080} |
| Array tabel | Array objek | [[users]] + name = "alice" → "users": [{"name": "alice"}] |
| Tanggal-waktu | String, apa adanya | 2026-04-18T10:00:00Z → "2026-04-18T10:00:00Z" |
Keluaran selalu diformat dengan indentasi 4 spasi, sehingga array dan objek terbentang di beberapa baris; tabel di atas menampilkan nilai dalam satu baris agar mudah dibaca. Urutan kunci dipertahankan persis seperti di TOML Anda.
Contoh lengkap
title = "My App"
[server]
host = "localhost"
port = 8080
[[users]]
name = "alice"
admin = true
dikonversi menjadi:
{
"title": "My App",
"server": {
"host": "localhost",
"port": 8080
},
"users": [
{
"name": "alice",
"admin": true
}
]
}
TOML yang didukung dan batasan nyatanya
Didukung: header [tabel] termasuk nama bagian bertitik, [[array tabel]], pasangan key = value satu baris, string basic "..." dengan escape \n, \t, dan \", string literal '...', bilangan bulat dan desimal sederhana, true/false, array satu baris (boleh bersarang), komentar # satu baris penuh, serta tanggal yang diteruskan sebagai string.
Tidak didukung, beserta solusinya:
- String multibaris (
"""atau''') dan array multibaris menghentikan parser dengan galat. Letakkan dulu nilainya dalam satu baris. - Tabel inline tidak diurai:
point = { x = 1, y = 2 }keluar sebagai string"{ x = 1, y = 2 }", bukan objek. Tulis ulang sebagai bagian[point]tersendiri. Baris dependensi Cargo.toml sepertiserde = { version = "1.0" }adalah kasus klasiknya. - Kunci bertitik di sebelah kiri tanda sama dengan tetap menjadi satu kunci datar:
server.host = "a"menghasilkan kunci"server.host", tanpa bersarang. Gunakan header[server]sebagai gantinya. Sebaliknya,[nama.bagian]bertitik di header bersarang dengan benar. - Komentar setelah nilai tidak dibuang:
port = 8080 # mainmenjadi string"8080 # main". Simpan komentar di barisnya sendiri. - Format angka di luar desimal sederhana tidak dikenali:
1_000,0xFF,5e2,+99,inf, dannankeluar sebagai string berkutip. Tulis1000,255,500,99. - Escape
\uXXXXdalam string basic tidak didekodekan. Tempelkan karakter aslinya saja.
Untuk dokumen TOML 1.0 yang lengkap, gunakan konverter baris perintah seperti toml2json, atau muat file dengan tomllib milik Python lalu keluarkan JSON dari sana.
Kapan alat ini berguna
- Memeriksa cepat potongan TOML sebagai JSON saat debugging.
- Meneruskan nilai konfigurasi sederhana ke linter, skrip, atau perkakas inventaris yang hanya menerima JSON.
- Membuat fixture JSON untuk pengujian dari catatan TOML yang lebih mudah ditulis tangan.
- Memigrasikan file konfigurasi kecil dan datar, seperti banyak
config.tomlmilik Hugo.
Catatan bolak-balik
- Komentar tidak pernah selamat: JSON sama sekali tidak punya sintaksis komentar.
- Tanggal tetap string; kode di hilir harus mengurainya kembali menjadi objek tanggal.
- Angka besar: bilangan bulat disimpan sebagai nilai 64-bit dalam teks JSON, tetapi konsumen JavaScript kehilangan presisi di atas 2^53. Waspadai stempel waktu nanodetik dan ID numerik.
- Urutan kunci dipertahankan seperti aslinya oleh konverter ini; perkakas JSON lain bisa menyusun ulang kunci saat menuliskan kembali dokumen.
Arah sebaliknya
JSON → TOML adalah perjalanan yang lebih sulit, karena JSON punya struktur (persarangan anonim yang dalam, null) yang tidak dimiliki TOML atau ditangani secara berbeda. Sebagian besar skenario bolak-balik butuh penyesuaian manual di sisi TOML.
Pertanyaan yang Sering Diajukan
Tidak. JSON tidak punya sintaksis komentar, jadi komentar # satu baris penuh langsung dilewati. Satu peringatan: komentar setelah nilai tidak dibuang, sehingga port = 8080 # main menjadi string “8080 # main”. Pindahkan komentar ke barisnya sendiri sebelum mengonversi.
Tidak. Alat ini mencakup inti sehari-hari: tabel dengan nama bagian bertitik, array tabel, pasangan key = value satu baris, string berkutip, angka desimal sederhana, boolean, array satu baris, dan komentar satu baris penuh. String dan array multibaris, tabel inline, kunci bertitik, serta format angka seperti 1_000 atau 0xFF tidak didukung. Untuk dokumen sesuai spesifikasi penuh, gunakan perkakas CLI seperti toml2json atau tomllib milik Python.
File konfigurasi biasa terkonversi seketika. Konversi berjalan di server kami, sehingga dokumen raksasa dibatasi ukuran permintaan; untuk TOML berukuran beberapa megabita, konverter baris perintah lebih cocok.
Ya, konverter ini berjalan di sisi server: TOML dikirim ke server kami lewat HTTPS, dikonversi di sana, dan kembali dalam respons yang sama. Isinya tidak disimpan setelah itu; hanya penghitung penggunaan anonim yang dicatat. Hindari menempelkan rahasia seperti kata sandi atau kunci API.
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.
JSON ke YAML
Konversi JSON ke YAML dengan penjelajaran yang tepat, penutupan string yang aman, skalar blok berbaris ganda, serta kunci yang tersortir untuk konfigurasi yang lebih rapi.
Konverter Ukuran File
Konversi antara byte, KB, MB, GB, TB, dan satuan biner IEC (KiB, MiB, GiB, TiB) dengan kombinasi desimal dan biner apa pun yang Anda inginkan.
Decoder JWT
Dekode header dan payload JWT, tampilkan klaim beserta pemeriksaan masa kedaluwarsa dan algoritma tanda tangan, lalu verifikasi menggunakan rahasia bersama atau kunci publik.
Alat ini tersedia dalam bahasa lain
- TOML เป็น JSON [TH]
- TOML a JSON [ES]
- TOML na JSON [PL]
- TOMLからJSONへ [JA]
- TOML para JSON [PT]
- TOML till JSON [SV]
- TOML sang JSON [VI]
- من TOML إلى JSON [AR]
- TOML en JSON [FR]
- TOML zu JSON [DE]
- TOML to JSON [KO]
- TOML naar JSON [NL]
- TOML'dan JSON'a [TR]
- TOML 至 JSON [ZH]
- TOML to JSON [EN]
- TOML in JSON [IT]
- TOML в JSON [RU]