2011-08-12 61 views
1

我在我的chrome調試器控制檯上試了這個,並得到一個SyntaxError;這個JSON語法有什麼問題?

JSON.parse("[{"name":"gath","age":10}]"); 
>SyntaxError 

什麼是解析JSON字符串的正確方法? 請注意,這個問題是我的earlier之一,它還沒有得到答案!

+1

對於記錄來說,JSON語法是正確的,但是在JavaScript中可能沒有其他語言的雙引號字符串中沒有未轉義的雙引號()。 –

回答

3

您需要跳過雙引號。

JSON.parse("[{\"name\":\"gath\",\"age\":10}]"); 

,或者更好的可讀性,這與單引號定義字符串:

JSON.parse('[{"name":"gath","age":10}]'); 
0

它括在單引號,它會正確解析。

JSON.parse('[{"name":"gath","age":10}]'); 


Object 
age: 10 
name: "gath" 
__proto__: Object 
1
JSON.parse("[{\"name\":\"gath\",\"age\":10}]"); 

你不能有雙引號

1

你需要躲避「 或做JSON.parse('[{ 」名內雙引號「: 」迦特「, 」年齡「: 10}]');

0

替換

JSON.parse("[{"name":"gath","age":10}]"); 

隨着

JSON.parse('[{"name":"gath","age":10}]'); 
+0

您的最後一個例子不起作用。 –

+0

爲什麼不呢?在JSON中支持''''和'''。 – elslooo

+0

*字符串是一個零個或多個Unicode字符的序列,用**雙引號**包裝,使用反斜槓轉義。* [Source。](http:// www.json.org/) –