{ } · 2 / 4 / tab · minify
Pemformat dan validator JSON
Pemformat JSON menambahkan indentasi pada JSON yang ringkas: dokumen 60 byte menjadi 86 byte dengan 2 spasi dan 102 byte dengan 4. Tempel JSON untuk mendapat teks terformat atau ter-minify, atau baris dan kolom kesalahan pertama.
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
Semuanya berjalan di tab ini dan tidak ada yang diunggah. Parser mengikuti RFC 8259, sehingga komentar, tanda kutip tunggal, koma di akhir, dan kunci tanpa tanda kutip dilaporkan sebagai kesalahan.
Scanned by NortonTM Safe Web
Sekilas
- Harga
- Tanpa biaya
- Akun
- Tidak perlu
- Standar
- RFC 8259 (JSON)
- Batas
- 5 MB input, 512 tingkat penumpukan
- Keluaran
- 2 spasi, 4 spasi, tab, atau minify, kunci dapat diurutkan
- Unggah
- Tidak ada — teks tetap di tab browser Anda
Kesalahan JSON dan presisi angka
Angka-angka ini berasal dari parser yang dipakai halaman ini. Baris dan kolom dihitung mulai dari 1.
| Dokumen | Kode alasan | Baris:kolom |
|---|---|---|
| {"a": 1,} | trailing_comma | 1:8 |
| {'a': 1} | single_quotes | 1:2 |
| [1, 2 | unexpected_end | 1:6 |
| {"a": 01} | bad_number | 1:8 |
| {"a": "x\q"} | bad_escape | 1:9 |
| {"a": 1 "b": 2} | missing_comma | 1:9 |
| Angka sebagaimana ditulis | Nilai yang dikembalikan JSON.parse |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
Cara memformat JSON
Tempel JSON Anda
Ketik atau tempel dokumen JSON hingga 5 MB ke kotak input. Contoh sudah tersedia agar Anda bisa melihat hasilnya lebih dulu.
Pilih keluarannya
Pilih 2 spasi, 4 spasi, tab, atau bentuk minify. Centang kotak untuk mengurutkan kunci setiap objek menurut urutan code unit.
Salin atau perbaiki
Salin atau unduh hasilnya. Jika JSON rusak, pesan menyebutkan baris, kolom, dan alasannya, dan tanda sisipan menunjuk tempatnya di baris yang bermasalah.
Cara kerja pemformat JSON
Halaman membaca teks Anda dengan parser sendiri untuk tata bahasa JSON di RFC 8259, lalu menuliskannya kembali dengan indentasi yang Anda pilih. Karena parser menjadi bagian dari halaman, setiap browser menampilkan pesan yang sama untuk kesalahan yang sama. JSON.parse bawaan menyusun pesan kesalahannya secara berbeda di Chrome, Firefox, dan Safari, dan tidak semuanya menunjuk baris dan kolom.
Angka dan escape string disalin persis seperti yang Anda ketik. JSON.parse mengubah 12345678901234567890 menjadi 12345678901234567000, karena angka JavaScript adalah float 64-bit dengan sekitar 15 sampai 17 digit signifikan. Halaman ini menyimpan semua 20 digit dan memberi tahu Anda saat sebuah angka akan dibulatkan. RFC 8259 menyatakan nama objek sebaiknya unik, jadi kunci ganda dipertahankan dan dilaporkan. Batasnya 5 MB input dan 512 tingkat penumpukan.
Pertanyaan tentang pemformat JSON
Bagaimana cara memformat JSON online?
Tempel JSON ke kotak input. Teks terformat langsung muncul, dengan 2 spasi, 4 spasi, atau tab untuk setiap tingkat. Contoh 60 byte menjadi 86 byte dengan 2 spasi dan 102 byte dengan 4 spasi.
Apa arti "unexpected token", dan di mana kesalahan saya?
Artinya parser menemukan karakter yang tidak diizinkan tata bahasa JSON di titik itu. Halaman ini menyebutkan alasan, baris, dan kolomnya. Untuk {"a": 1,} ia melaporkan trailing_comma di baris 1, kolom 8.
Mengapa koma di akhir adalah kesalahan di JSON?
Tata bahasa di RFC 8259 mewajibkan nilai setelah setiap koma, jadi [1, 2,] dan {"a": 1,} tidak valid. Literal objek JavaScript menerima koma di akhir, tetapi JSON tidak. Hapus koma terakhir.
Apakah JSON boleh berisi komentar atau tanda kutip tunggal?
Tidak. RFC 8259 tidak punya komentar, dan string serta kunci hanya memakai tanda kutip ganda. Format seperti JSON5 dan JSONC mengizinkan keduanya, tetapi itu format yang berbeda, dan halaman ini melaporkannya sebagai kesalahan.
Apakah pemformat mengubah angka saya?
Tidak. Angka dan escape ditulis kembali persis seperti yang diketik. JSON.parse akan membulatkan 12345678901234567890 menjadi 12345678901234567000, tetapi halaman ini mempertahankan setiap digit, jadi pemformatan tidak menghilangkan apa pun.
Apakah JSON saya diunggah ke suatu tempat?
Tidak. Halaman berjalan di tab browser Anda dan tidak mengirim apa pun ke server mana pun. Setelah dimuat, halaman juga bekerja offline. Batas input adalah 5 MB.