JSON.parse抛出错误

时间:2010-11-13 16:59:53

标签: javascript json

<!DOCTYPE html>

<html>
<head>
    <title></title>
</head>
<body>
    <script>        
        var str = "{ 'foo': 'bar' }";
        var json = JSON.parse(str);
    </script>   
</body>
</html>

此代码在第二个变量语句上抛出错误。为什么? (Chrome说“意外的令牌ILLEGAL”,Firefox说“JSON.parse”)

2 个答案:

答案 0 :(得分:16)

你应该使用双引号,而不是单引号:

 var str = '{ "foo": "bar" }';
 var json = JSON.parse(str); 
 json['foo']

答案 1 :(得分:0)

对我来说,在调用JSON.parse()之前在对象上使用String()更容易

var retrievedObject = localStorage.foo;
var encoded = JSON.parse(String(retrievedObject));