代码之家  ›  专栏  ›  技术社区  ›  Å ime Vidas Zim84

JSON.parse抛出错误

  •  4
  • Å ime Vidas Zim84  · 技术社区  · 14 年前
    <!DOCTYPE html>
    
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <script>        
            var str = "{ 'foo': 'bar' }";
            var json = JSON.parse(str);
        </script>   
    </body>
    </html>
    

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

    2 回复  |  直到 13 年前
        1
  •  16
  •   meder omuraliev    14 年前

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

     var str = '{ "foo": "bar" }';
     var json = JSON.parse(str); 
     json['foo']
    
        2
  •  0
  •   Stone    14 年前

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

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