我在解析简单的JSON字符串时遇到了问题。我已经在JSONLint上检查了它们,它显示它们是有效的。但当我试图用JSON解析它们时。解析或jQuery的替代方案,它给我错误的意外令牌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>
注意:我在PHP中使用json_encode()编码我的字符串。
然而,错误的根源在于您需要将完整的JSON字符串放在引号中。下面将修复您的示例:
<!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>
正如其他受访者所提到的,该对象已经被解析为JS对象,因此您不需要解析它。为了演示如何在不解析的情况下完成同样的事情,您可以执行以下操作:
<!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>