Lewati ke konten

{ } · 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.

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.

Kesalahan pertama yang ditemukan di dokumen rusak
DokumenKode alasanBaris:kolom
{"a": 1,}trailing_comma1:8
{'a': 1}single_quotes1:2
[1, 2unexpected_end1:6
{"a": 01}bad_number1:8
{"a": "x\q"}bad_escape1:9
{"a": 1 "b": 2}missing_comma1:9
Angka yang dibulatkan JSON.parse
Angka sebagaimana ditulisNilai yang dikembalikan JSON.parse
1234567890123456789012345678901234567000
90071992547409939007199254740992
1.00000000000000011
1E400Infinity

Cara memformat JSON

1

Tempel JSON Anda

Ketik atau tempel dokumen JSON hingga 5 MB ke kotak input. Contoh sudah tersedia agar Anda bisa melihat hasilnya lebih dulu.

2

Pilih keluarannya

Pilih 2 spasi, 4 spasi, tab, atau bentuk minify. Centang kotak untuk mengurutkan kunci setiap objek menurut urutan code unit.

3

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.