Fungsinya
JSON5 adalah perluasan JSON yang dirancang untuk berkas yang ditulis tangan. Formatnya mengizinkan komentar, koma di akhir, kunci objek tanpa tanda kutip, string bertanda kutip tunggal, dan beberapa penulisan angka yang lebih nyaman. Alat seperti Babel, sebagian bundler, dan banyak aplikasi menerima JSON5 atau JSONC (JSON dengan komentar, dipakai oleh tsconfig.json dan pengaturan VS Code) sebagai format konfigurasi.
Namun banyak parser, API, dan bahasa pemrograman hanya menerima JSON yang ketat. Konverter ini membaca JSON5 atau JSONC dan menghasilkan JSON standar yang diterima parser mana pun: semua kunci bertanda kutip ganda, tanpa komentar, tanpa koma di akhir, dan angka dalam bentuk desimal.
Cara pakai
- Tempel JSON5 atau JSONC, unggah berkas
.json5,.jsonc, atau.json, atau klik Contoh. - Pilih Indentasi: 2 atau 4 spasi, atau Ringkas untuk satu baris.
- Pilih perlakuan untuk
InfinitydanNaN: ubah kenull, ubah ke string, atau tampilkan galat. - Salin atau unduh JSON-nya.
Jika input mengandung kesalahan sintaks, pesan menampilkan baris dan kolomnya sehingga Anda bisa langsung melompat ke sana. JSON biasa juga merupakan JSON5 yang valid, jadi alat ini juga bisa dipakai untuk memeriksa apakah berkas bisa diurai dan merapikan ulang indentasinya.
Contoh
Konfigurasi JSON5 berikut:
// Server settings
{
host: 'localhost',
port: 0x1F90, // 8080
ratio: .5,
tags: ['api', 'v2',],
}
menjadi JSON ketat ini:
{
"host": "localhost",
"port": 8080,
"ratio": 0.5,
"tags": [
"api",
"v2"
]
}
Komentar dihapus, kunci dan string diberi tanda kutip ganda, angka heksadesimal dan desimal tanpa bagian bulat ditulis dalam bentuk desimal, dan koma di akhir menghilang.
Yang dikonversi
- Komentar baris
//dan komentar blok/* */dihapus. - Kunci tanpa tanda kutip seperti
portdan string bertanda kutip tunggal seperti'localhost'diubah menjadi bertanda kutip ganda. - String yang dilanjutkan dengan garis miring terbalik di akhir baris digabung menjadi satu string.
- Angka heksadesimal (
0xFF), titik desimal di awal atau akhir (.5,5.), dan tanda plus eksplisit (+3) menjadi angka desimal biasa. - Koma di akhir pada objek dan array dibuang.
- Jika sebuah kunci muncul dua kali, nilai terakhir yang dipakai, sama seperti di JavaScript.
FAQ
› Apa beda JSON5 dan JSONC?
JSONC adalah JSON dengan komentar (dan di VS Code juga koma di akhir). JSON5 lebih jauh lagi: kunci tanpa tanda kutip, string bertanda kutip tunggal, string multibaris, angka heksadesimal, titik desimal di awal atau akhir angka, Infinity, dan NaN. JSON5 mencakup JSONC, jadi alat ini bisa membaca keduanya.
› Apakah komentar saya dipertahankan?
Tidak. JSON standar tidak punya sintaks komentar, jadi komentar dihapus. Jika perlu menyimpannya, simpan berkas JSON5 sebagai sumber dan hasilkan JSON darinya.
› Bagaimana dengan Infinity dan NaN?
JSON yang ketat tidak bisa merepresentasikannya. Secara bawaan keduanya menjadi null, seperti JSON.stringify di JavaScript. Anda juga bisa mengubahnya menjadi string atau menampilkan galat yang menyebut jalur persisnya.
› Apakah data saya diunggah?
Tidak. Penguraian dan konversi berjalan sepenuhnya di peramban, jadi berkas konfigurasi yang berisi rahasia tidak pernah meninggalkan perangkat Anda.