JSON formatter, validator, dan minify
Tempelkan JSON Anda ke JSON formatter ini – alat langsung memeriksanya, menunjukkan lokasi error beserta penjelasan, dan menghasilkan JSON yang rapi dengan indentasi atau diperkecil (minify) siap disalin. Tidak ada yang diunggah.
Cara menghitung
Apa yang diperiksa?
Aturannya berasal dari RFC 8259, standar internet untuk JSON (setara dengan ECMA-404). Alat ini membaca teks Anda karakter demi karakter dengan parser sendiri dan berhenti pada pelanggaran aturan pertama. Pesan menyebutkan baris dan kolom, menandai lokasinya dengan ^, dan menjelaskan apa yang salah – sama di semua browser. Pesan bawaan JSON.parse berbeda di tiap browser dan sering kurang jelas („Unexpected token“).
Error JSON yang paling sering
- Koma berlebih setelah elemen terakhir:
{"a": 1,}– sah di JavaScript, error di JSON. - Tanda kutip tunggal atau key tanpa kutip:
{'a': 1},{a: 1}– yang benar{"a": 1}. - Komentar (
//,/* */) tidak ada di JSON. - Nilai JavaScript atau Python:
undefined,NaN,Infinity,True,None– yang sah hanyatrue,false, dannull. - Angka: tanpa nol di depan (
012), tanpa+1, tanpa.5atau5., tanpa heksadesimal (0x1F). Pemisah desimal selalu titik, bukan koma – jadi1.5, bukan1,5. - String: baris baru atau tab ditulis
\natau\t, satu backslash ditulis\\(kesalahan umum pada path Windows). - Karakter tak terlihat: spasi tak terputus (U+00A0) yang tersalin dari Word atau halaman web tidak dihitung sebagai spasi di JSON.
Merapikan, minify, mengurutkan
Keluaran dibangun ulang dari isi yang sudah divalidasi: Rapikan memberi indentasi setiap level dengan 2 atau 4 spasi atau tab, Minify menghapus semua spasi yang tidak perlu (ukuran file terkecil). Angka dan string tetap persis seperti ditulis – berbeda dengan JSON.parse + JSON.stringify, 1.0 tidak berubah menjadi 1 dan 12345678901234567890 tidak dibulatkan. Pengurutan menyusun key berdasarkan unit kode Unicode seperti pada JSON Canonicalization Scheme (RFC 8785): huruf besar sebelum huruf kecil.
Peringatan, bukan error
Key ganda dalam objek yang sama tidak dilarang RFC 8259, tetapi tidak dapat diandalkan: sebagian besar program hanya menyimpan nilai terakhir. Byte order mark (BOM) di awal boleh diabaikan parser – alat ini juga mengabaikannya dan memberi tahu Anda.
Batasan
Alat memeriksa sintaks, bukan makna: apakah field wajib ada atau tipenya benar adalah tugas JSON Schema. Kolom dihitung per karakter Unicode mulai dari 1 (tab = 1 karakter); editor dengan lebar tab 4 menampilkan kolom yang lebih besar. Input dibatasi 5 juta karakter dan 1.000 level bersarang.
Pertanyaan umum
Apakah JSON saya diunggah atau disimpan?
Tidak. Validasi dan format berjalan sepenuhnya di browser Anda. Teks tidak masuk ke URL dan tidak disimpan – tautan hanya berisi pengaturan (keluaran, indentasi, pengurutan).
Apa itu JSON formatter?
JSON formatter (atau beautifier) mengubah JSON satu baris yang sulit dibaca menjadi teks rapi dengan indentasi per level. Alat ini sekaligus validator: sebelum merapikan, ia memeriksa apakah JSON sah dan menunjukkan error-nya.
Bagaimana cara minify JSON?
Pilih keluaran „Minify (tanpa spasi)“. Semua baris baru dan indentasi dihapus sehingga JSON menjadi satu baris dengan ukuran terkecil – cocok untuk dikirim lewat API atau disimpan di konfigurasi.
Mengapa komentar dan koma di akhir dilarang?
JSON sengaja dibuat sederhana agar setiap bahasa pemrograman membacanya dengan cara yang sama. Komentar dan koma di akhir adalah fitur ekstensi seperti JSON5 atau JSONC (misalnya pengaturan VS Code) – sebagai JSON biasa, file tersebut tidak sah.
JSON saya valid, tetapi program tetap menolaknya – kenapa?
Biasanya isinya tidak sesuai harapan program: field wajib hilang, ada angka padahal seharusnya string, atau strukturnya berbeda. Hal ini ditentukan oleh JSON Schema atau dokumentasi API. Periksa juga peringatan key ganda.
Bagaimana menemukan masalah pada error „berakhir tiba-tiba“?
Hampir selalu ada } atau ] penutup atau tanda kutip yang hilang. Pesan menyebutkan baris kurung yang tidak pernah ditutup – periksa akhir blok itu terlebih dahulu.
Sumber dan dasar hukum
- STD 90, §§ 2–9: IETF RFC 8259 – The JavaScript Object Notation (JSON) Data Interchange Format
- ECMA-404 – The JSON Data Interchange Syntax, 2nd edition
- § 3.2.3: IETF RFC 8785 – JSON Canonicalization Scheme (Sortierung der Schlüssel)
- JSONTestSuite (Nicolas Seriot) – Testfälle für JSON-Parser
Diperbarui:
Alat terkait
- XML validator dan cek CSV onlineXML validator online: cek apakah XML well-formed dan CSV sesuai RFC 4180 – error dengan baris dan kolom, deteksi pemisah, pratinjau tabel. Tanpa upload.
- Regex TesterRegex tester online untuk JavaScript: kecocokan disorot langsung, grup tangkapan dalam tabel, dan setiap bagian pola dijelaskan. Gratis, tanpa unggah.
- Base64 decode dan encode onlineBase64 decode dan encode online, termasuk Base64url dengan UTF-8 yang benar, serta URL encode/decode (percent-encoding). Pesan error jelas, berjalan di browser.
- Hash generator: SHA-256, SHA-512, SHA-1, MD5Hitung hash SHA-256, SHA-384, SHA-512, SHA-1 dan MD5 dari teks atau file dan cocokkan checksum – langsung di browser, tanpa upload, gratis.
- UUID generator: buat dan validasi UUID v4 dan v7UUID generator online: buat UUID versi 4 (acak) atau versi 7 (urut waktu), hingga 1.000 sekaligus. Validasi UUID dan baca versi, varian serta waktunya.
- Unix timestamp converter: timestamp ke tanggalKonversi Unix timestamp ke tanggal dan sebaliknya. Detik, milidetik, mikro- dan nanodetik dikenali otomatis; UTC, WIB/waktu lokal, ISO 8601 dan lainnya.