2010-11-13 97 views
4
<!DOCTYPE html> 

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

此代碼在第二個變量語句中引發錯誤。爲什麼? 器(Chrome說:「意外的標記非法」,火狐說:「JSON.parse」)JSON.parse拋出錯誤

+0

看一看在[JSON規範]上(http://json.org/):) – 2010-11-13 18:29:30

+0

@Felix好小子,規格爲長。我沒有時間做這件事。 :p – 2010-11-13 18:37:09

+0

Vidas:它的圖像:-P;)我只是想表明,如何在JSON中定義一個字符串。 – 2010-11-13 18:43:57

回答

16

你應該使用雙,而不是單引號:

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

Bah打敗了我。是的,這個。 – Robert 2010-11-13 17:01:55

+0

很高興知道:) – 2010-11-13 17:04:42

0

對我來說,這是比較容易,只需使用字符串()調用JSON.parse前的對象()

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