Parsing JSON memberikan "tak terduga token o" kesalahan
Saya mengalami masalah parsing sederhana JSON string. Saya telah memeriksa mereka pada JSONLint dan itu menunjukkan bahwa mereka adalah sah. Tapi ketika saya mencoba untuk mengurai mereka menggunakan JSON.mengurai
atau jQuery alternatif ini memberi saya error unexpected token
o:
<!doctype HTML>
<html>
<head>
</head>
<body>
<script type="text/javascript">
var cur_ques_details ={"ques_id":15,"ques_title":"jlkjlkjlkjljl"};
var ques_list = JSON.parse(cur_ques_details);
document.write(ques_list['ques_title']);
</script>
</body>
</html>
Catatan: saya'm encoding string saya menggunakan `json_encode () di PHP.
432
8
Data anda sudah objek. Tidak perlu untuk mengurai itu. Javascript penerjemah telah diurai untuk anda.
Mencoba mengurai sehingga:
Menggunakan
JSON.stringify(data);
:Sumber kesalahan anda, bagaimanapun, adalah bahwa anda perlu untuk menempatkan penuh JSON string dalam tanda kutip. Berikut ini akan memperbaiki anda contoh:
Sebagai responden lainnya telah disebutkan, objek sudah diurai menjadi obyek JS sehingga anda don't perlu untuk mengurai itu. Untuk menunjukkan bagaimana untuk mencapai hal yang sama tanpa parsing, anda dapat melakukan hal-hal berikut:
cur_ques_details
sudah JS objek, anda don't perlu menguraiRespon yang sudah diuraikan, anda don't perlu mengurai lagi. jika anda mengurai lagi itu akan memberi anda "
unexpected token
o". jika anda perlu untuk mendapatkan itu sebagai string, anda bisa menggunakanJSON.stringify()
Aku punya masalah yang sama ketika saya menyerahkan data menggunakan jQuery AJAX:
Jika respon JSON, dan anda menggunakan metode ini, data yang anda dapatkan adalah objek JavaScript, tetapi jika anda menggunakan
dataType:"text"
, data JSON string. Kemudian penggunaan$.parseJSON
baik-baik saja.Saya melihat ini
unexpected token
o kesalahan karena saya (tidak lengkap) kode yang telah berjalan sebelumnya (live reload!) dan set tertentu mengetik penyimpanan lokal nilai untuk[object object]
bukan{}
. Itu't sampai saya mengubah kunci, bahwa hal-hal mulai bekerja seperti yang diharapkan. Atau, anda dapat mengikuti petunjuk ini untuk menghapus salah set localStorage nilai.