{ } · 2 / 4 / tab · kecilkan
Pemformat dan pengesah JSON
Pemformat JSON menambah inden pada JSON yang padat: dokumen 60 bait menjadi 86 bait dengan 2 ruang dan 102 bait dengan 4. Tampal JSON untuk mendapat teks yang diformat atau dikecilkan, atau baris dan lajur ralat pertama.
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
Semuanya berjalan dalam tab ini dan tiada apa dimuat naik. Penghurai mengikut RFC 8259, jadi komen, petikan tunggal, koma hujung dan kunci tanpa petikan dilaporkan sebagai ralat.
Scanned by NortonTM Safe Web
Sepintas lalu
- Harga
- Tiada caj
- Akaun
- Tidak diperlukan
- Piawaian
- RFC 8259 (JSON)
- Had
- 5 MB input, 512 aras sarang
- Output
- 2 ruang, 4 ruang, tab atau dikecilkan, kunci boleh disusun
- Muat naik
- Tiada — teks kekal dalam tab pelayar anda
Ralat JSON dan ketepatan nombor
Angka ini datang daripada penghurai yang digunakan halaman ini. Baris dan lajur dikira bermula dari 1.
| Dokumen | Kod sebab | Baris:lajur |
|---|---|---|
| {"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 |
| Nombor seperti ditulis | Nilai yang dipulangkan JSON.parse |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
Cara memformat JSON
Tampal JSON anda
Taip atau tampal dokumen JSON sehingga 5 MB ke dalam kotak input. Satu sampel sudah ada supaya anda boleh melihat hasilnya dahulu.
Pilih output
Pilih 2 ruang, 4 ruang, satu tab atau bentuk yang dikecilkan. Tandakan kotak untuk menyusun kunci setiap objek mengikut tertib unit kod.
Salin atau betulkan
Salin atau muat turun hasilnya. Jika JSON rosak, mesej memberi baris, lajur dan sebabnya, dan tanda sisip menunjukkan tempatnya pada baris yang gagal.
Cara pemformat JSON berfungsi
Halaman ini membaca teks anda dengan penghurainya sendiri untuk tatabahasa JSON dalam RFC 8259, kemudian menulisnya semula dengan inden yang anda pilih. Oleh sebab penghurai itu sebahagian daripada halaman, setiap pelayar menunjukkan mesej yang sama untuk kesilapan yang sama. JSON.parse terbina dalam menyatakan ralatnya secara berbeza dalam Chrome, Firefox dan Safari, dan tidak semuanya menunjuk kepada baris dan lajur.
Nombor dan escape rentetan disalin tepat seperti yang anda taip. JSON.parse menukar 12345678901234567890 kepada 12345678901234567000, kerana nombor JavaScript ialah float 64-bit dengan kira-kira 15 hingga 17 digit bererti. Halaman ini mengekalkan kesemua 20 digit dan memberitahu anda apabila sesuatu nombor akan dibundarkan. RFC 8259 menyatakan nama objek sepatutnya unik, jadi kunci pendua dikekalkan dan dilaporkan. Hadnya ialah 5 MB input dan 512 aras sarang.
Soalan pemformat JSON
Bagaimana saya memformat JSON dalam talian?
Tampal JSON ke dalam kotak input. Teks yang diformat muncul serta-merta, dengan 2 ruang, 4 ruang atau satu tab bagi setiap aras. Sampel 60 bait menjadi 86 bait dengan 2 ruang dan 102 bait dengan 4 ruang.
Apakah maksud "unexpected token", dan di manakah ralat saya?
Ia bermaksud penghurai bertemu aksara yang tidak dibenarkan oleh tatabahasa JSON pada kedudukan itu. Halaman ini menyatakan sebab, baris dan lajur. Bagi {"a": 1,} ia melaporkan trailing_comma pada baris 1, lajur 8.
Mengapa koma hujung ialah ralat dalam JSON?
Tatabahasa dalam RFC 8259 memerlukan nilai selepas setiap koma, jadi [1, 2,] dan {"a": 1,} tidak sah. Literal objek JavaScript menerima koma hujung, tetapi JSON tidak. Padamkan koma yang terakhir.
Bolehkah JSON mengandungi komen atau petikan tunggal?
Tidak. RFC 8259 tiada komen, dan rentetan serta kunci hanya menggunakan petikan berganda. Format seperti JSON5 dan JSONC membenarkan kedua-duanya, tetapi itu format yang berbeza, dan halaman ini melaporkannya sebagai ralat.
Adakah pemformat mengubah nombor saya?
Tidak. Nombor dan escape ditulis semula tepat seperti yang ditaip. JSON.parse akan membundarkan 12345678901234567890 kepada 12345678901234567000, tetapi halaman ini mengekalkan setiap digit, jadi pemformatan tidak menghilangkan apa-apa.
Adakah JSON saya dimuat naik ke mana-mana?
Tidak. Halaman ini berjalan dalam tab pelayar anda dan tidak menghantar apa-apa ke mana-mana pelayan. Selepas dimuatkan, ia juga berfungsi di luar talian. Had input ialah 5 MB.