<!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”)
答案 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));