Tengo un problema al analizar cadenas JSON simples. Las he comprobado en JSONLint y muestra que son válidas. Pero cuando intento analizarlas usando JSON.parse
o la alternativa jQuery me da el 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>
Nota: Estoy codificando mis cadenas usando json_encode()
en PHP.
El origen de tu error, sin embargo, es que necesitas colocar la cadena JSON completa entre comillas. Lo siguiente arreglará su ejemplo:
<!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>
Como los otros encuestados han mencionado, el objeto ya está parseado en un objeto JS por lo que no necesitas parsearlo. Para demostrar cómo conseguir lo mismo sin parsear, puedes hacer lo siguiente:
<!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>