Bahasa: Bahasa Indonesia

tools / json

json/

Format, minify, validasi, escape, dan urutkan kunci JSON, divalidasi langsung saat Anda mengetik.

Input

Hasil

Pertanyaan umum

JSON menampilkan "Unexpected token" atau "JSON tidak valid". Apa yang salah?

Umumnya teks tersebut berupa literal JavaScript atau Python, bukan JSON standar. Penyebab yang lazim: tanda kutip tunggal, kunci tanpa tanda kutip ganda, koma di akhir setelah item terakhir, komentar // atau /* */, NaN atau undefined (serta True atau None milik Python), dan tanda kutip melengkung yang disalin dari aplikasi chat. Posisi yang dilaporkan adalah tempat parser berhenti; penyebab sebenarnya bisa jadi sedikit sebelum itu.

Bagaimana cara membaca baris dan kolom pada pesan error, dan mengapa bagian setelahnya berbahasa Inggris?

Baris dan kolom dimulai dari 1. Posisi diambil dari error browser jika ada; jika browser tidak memberikannya (misalnya Safari), alat ini memindai teks sendiri untuk menemukan karakter pertama yang salah. Teks berbahasa Inggris setelah "·" adalah pesan asli JSON.parse dari browser, jadi kata-katanya berbeda di tiap browser dan tidak diterjemahkan di sini.

Bagaimana cara mengubah escape \u4e2d\u6587 di JSON menjadi teks yang terbaca?

Cukup klik "Format" atau "Minify". Alat ini mem-parse JSON lalu menuliskannya kembali, dan urutan \uXXXX di dalam string berubah menjadi karakter sebenarnya. Jika seluruh isinya berupa string ter-escape (diapit tanda kutip dan penuh \"), gunakan "Unescape" terlebih dulu. Sebaliknya, mengubah teks non-ASCII menjadi bentuk \u tidak didukung; "Escape" hanya menangani tanda kutip, backslash, baris baru, dan karakter sejenis.

Apa perbedaan "Escape" dan "Unescape"? Bagaimana memulihkan string penuh \" dari API?

"Escape" mengubah teks menjadi bentuk yang bisa ditaruh di dalam string (backslash sebelum tanda kutip, baris baru menjadi \n), tanpa tanda kutip di kedua sisi. "Unescape" melakukan kebalikannya. Untuk keluaran API yang penuh \", pilih "Unescape"; bisa dengan atau tanpa tanda kutip luar. Lalu klik "⇄ Jadikan hasil sebagai input" dan alat ini otomatis beralih ke "Format".

Angka panjang (seperti ID snowflake) berubah di bagian akhir setelah diformat. Apa yang bisa dilakukan?

Bilangan bulat di atas 2^53 (9007199254740991) tidak bisa direpresentasikan secara tepat di JavaScript, sehingga presisi sudah hilang saat JSON.parse membacanya, dan beberapa digit terakhir sering menjadi nol. Saat Anda memformat atau meminify, halaman menampilkan peringatan yang mendaftar hingga 5 posisi. Agar nilai seperti itu tetap utuh, minta sumber data mengeluarkan ID tersebut sebagai string (dalam tanda kutip ganda).

Setelah diformat, 1.0 menjadi 1 dan kunci duplikat hilang. Mengapa?

Format dan minify mem-parse JSON lalu menuliskannya kembali, sehingga angka ditulis ulang ala JavaScript: 1.0 menjadi 1, 1E2 menjadi 100, 0.10 menjadi 0.1, dan -0 menjadi 0. Nilainya tetap sama. Jika sebuah objek memiliki kunci yang sama dua kali, hanya yang terakhir yang dipertahankan, tanpa peringatan.

Bagaimana "Urutkan kunci" mengurutkan? Apakah array ikut berubah?

Kunci di semua tingkat diurutkan menurut kode karakter, huruf besar sebelum huruf kecil, dan aksara lain menurut code point, bukan urutan kamus. Urutan item array tidak berubah. Kunci yang murni angka (seperti "2" dan "10") adalah pengecualian: JavaScript selalu menaruhnya di depan, dalam urutan numerik, sehingga kunci tersebut dipindah ke depan meski "Urutkan kunci" tidak aktif.

Seberapa besar JSON yang bisa diproses? Apakah data saya diunggah?

Tidak ada batas ukuran tetap. Di atas 1 juta karakter, pemrosesan ditunda sekitar 0,6 detik setelah Anda mengetik, dan teks yang sangat besar terutama dibatasi oleh memori browser. Semua berjalan di browser Anda; halaman tidak mengirim permintaan berisi konten Anda dan tidak menyimpan apa yang Anda masukkan.