Basit JSON dizelerini ayrıştırırken bir sorun yaşıyorum. Bunları JSONLint üzerinde kontrol ettim ve geçerli olduklarını gösteriyor. Ancak bunları JSON.parse
ya da jQuery alternatifini kullanarak ayrıştırmaya çalıştığımda unexpected token o
hatası veriyor:
<!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>
Not: Dizelerimi PHP'de json_encode()
kullanarak kodluyorum.
Verileriniz zaten bir nesnedir. Ayrıştırmaya gerek yok. Javascript yorumlayıcısı zaten sizin için ayrıştırdı.
var cur_ques_details ={"ques_id":15,"ques_title":"jlkjlkjlkjljl"};
document.write(cur_ques_details['ques_title']);
Ancak hatanızın kaynağı, JSON dizesinin tamamını tırnak içine almanız gerektiğidir. Aşağıdakiler örneğinizi düzeltecektir:
<!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>
Diğer katılımcıların da belirttiği gibi, nesne zaten bir JS nesnesine ayrıştırılmıştır, bu nedenle onu ayrıştırmanıza gerek yoktur. Ayrıştırma yapmadan aynı şeyi nasıl gerçekleştireceğinizi göstermek için aşağıdakileri yapabilirsiniz:
<!doctype HTML>
<html>
<head>
</head>
<body>
<script type="text/javascript">
var cur_ques_details ={"ques_id":"15","ques_title":"jlkjlkjlkjljl"};
document.write(cur_ques_details.ques_title);
</script>
</body>
</html>