Saya mendapatkan kesalahan ini "syntaxerror tak terduga U token tak terduga" ketika saya menjalankan halaman saya di chrome. Dan di firefox saya dapatkan, "JSON.parse: karakter yang tidak terduga". Saya mengembalikan data json dari file php dan string json yang kembali valid. Saya memeriksanya dengan http://jsonlint.com/ . Bantuan apa pun akan dihargai ... Terima kasih.
Inilah string JSON yang dikembalikan
[
["1","Pan Africa Market","\"1521 1st Ave, Seattle, WA\"","47.608941","-122.340145","restaurant"],
["2","The Melting Pot","14 Mercer St, Seattle, WA","47.624562","-122.356442","restaurant"],
["3","Ipanema Grill","1225 1st Ave, Seattle, WA","47.606366","-122.337656","restaurant"],
["4","Sake House","230 1st Ave, Seattle, WA","47.612825","-122.34567","bar"],
["5","Crab Pot","1301 Alaskan Way, Seattle, WA","47.605961","-122.34036","restaurant"],
["6","Mexican Kitchen","2234 2nd Ave, Seattle,WA","47.613975","-122.345467","bar"],
["7","Wingdome","1416 E Olive Way, Seattle, WA","47.617215","-122.326584","bar"],
["8","Piroshky Piroshky","1908 Pike pl, Seattle, WA","47.610127","-122.342838","restaurant"]
]
\"
di output.Jawaban:
Kesalahan itu biasanya terlihat ketika nilai yang diberikan
JSON.parse
sebenarnyaundefined
. Jadi, saya akan memeriksa kode yang mencoba menguraikan ini - kemungkinan besar Anda tidak menguraikan string aktual yang ditampilkan di sini.sumber
"undefined"
sebagai string bukan literalundefined
. Saya hanya menghabiskan 30 menit mencari tahu itu.u
, adalah yangundefined
dipaksa menjadi string (karena string adalah apa yang diharapkan JSON.parse).Unexpected token N in JSON at position...
dan masalahnya adalahdouble
nilai:NaN
Saya menerima pesan ini saat memvalidasi (dalam proyek MVC). Bagi saya, menambahkan elemen ValidationMessageFor memperbaiki masalah ini.
Lebih tepatnya, nomor baris 43 di jquery.validate.unobtrusive.js menyebabkan masalah:
sumber
$("form :input").valid();
untuk memicu validasi. Tapi ternyata itu mendapat kesalahan pada bidang tersembunyi tanpa ValidationMessageFor. Diperbaiki dengan mengubah ke$("form :input:visible").valid();
Parameter untuk JSON.parse mungkin tidak mengembalikan apa-apa (yaitu nilai yang diberikan untuk JSON.parse adalah
undefined
)!Itu terjadi pada saya ketika saya mem-parsing kode soliditas terkompilasi dari file xyz.sol.
yang salah eja sebagai
yang tidak mengembalikan apa-apa!
sumber
Kasus paling umum dari kesalahan ini terjadi adalah menggunakan templat yang menghasilkan kontrol kemudian mengubah cara
id
dan / atauname
sedang dihasilkan oleh templat default 'menimpa' dengan sesuatu sepertidan kemudian lupa untuk berubah
ValidationMessageFor
menjadiSemoga ini menghemat waktu Anda.
sumber
Saya mengalami kesalahan ini ketika saya menjalankan kondisi pencarian pada JSONArray dalam for loop. Masalah yang saya hadapi adalah hasil dari salah satu nilai dalam for for return null. Oleh karena itu, ketika saya mencoba mengakses properti itu gagal.
Jadi, jika Anda melakukan sesuatu dalam JSONArrays di mana Anda tidak yakin dengan sumber data dan integritasnya, saya pikir ini kebiasaan yang baik untuk menangani pengecualian nol dan tidak terdefinisi dalam kasus ini.
Saya memperbaikinya dengan memeriksa nol pada nilai pengembalian yang ditemukan di JSONArray dan menangani pengecualian dengan tepat.
Kupikir ini mungkin bisa membantu.
sumber
Dalam kasus saya itu mencoba untuk memanggil JSON.parse () pada variabel AJAX sebelum XHRResponse kembali. MISALNYA:
Saya menggantinya dengan contoh di luar situs jQuery seharga $ .get :
sumber
Hanya memetikan Anda tidak mengerti
mis. adalah bahwa katakanlah saya memiliki JSON STRING .. TIDAK BELUM OBYEK ATAU ARRAY JSON.
jadi jika dalam javascript u parsing string as
Jawaban bagus di atas
sumber
Jawaban ini jika untuk orang-orang yang menghadapi kesalahan ini saat bekerja dengan File Upload ..
Kami menggunakan middleware untuk enkripsi berbasis token - dekripsi dan kami menemukan kesalahan yang sama.
Berikut ini adalah kode kami dalam file rute:
di sini kami memanggil middleware sebelum mengunggah fungsi dan itu menyebabkan kesalahan. Jadi ketika kami mengubahnya menjadi ini, itu berhasil.
sumber
Ini bukan tugas yang sulit. Masalah itu juga terjadi di situs saya Anda harus menggeser file js Anda urutan teratas. Karena di tempat Anda menggunakan Parsing JSON, kali ini file JS Anda tidak dimuat. CONTOH #
mengubah
sumber
Nah, untuk semua yang sebenarnya tidak dapat menemukan kesalahan di mana pun dalam kode Anda, tidak ada "tidak terdefinisi seperti yang dikatakan di penyimpanan lokal atau nol" .. cukup hanya komentar kode Anda dan tulis satu lagi yang benar-benar menghapus item dalam penyimpanan lokal. .setelah itu, Anda dapat berkomentar atau menghapus kode saat ini dan mengatur ulang lagi kode sebelumnya hanya dengan menghapus tanda komentar (jika Anda tidak menghapus ... jika Anda dapat menulisnya lagi :))
Konsol akan menunjukkan nol dan bahwa .. reset kode Anda lagi jika t tidak berfungsi, kawan! Anda mendapat kesalahan.
maaf untuk bahasa inggris saya!
sumber
Saya mendapatkan kesalahan ini, ketika saya menggunakan variabel yang sama untuk string json dan parsed json:
Saya mengubah fungsi menjadi:
Sekarang kesalahan ini hilang.
sumber