JSON.parse()
會把一個字符串解析成 JSON 對象。若是字符串書寫正確,那麼其將會被解析成一個有效的 JSON,可是這個字符串被檢測出錯誤語法的時候將會拋出錯誤。數組
JSON.parse()
不容許在末尾添加多餘的逗號下面兩行代碼都會拋出錯誤:函數
1 JSON.parse('[1, 2, 3, 4, ]'); 2 JSON.parse('{"foo" : 1, }'); 3 // SyntaxError JSON.parse: unexpected character 4 // at line 1 column 14 of the JSON data
省略末尾多餘的逗號解析 JSON 就是正確:spa
1 JSON.parse('[1, 2, 3, 4 ]'); 2 JSON.parse('{"foo" : 1 }');
屬性名上不能使用單引號,例如: 'foo'。code
1 JSON.parse("{'foo' : 1 }"); 2 // SyntaxError: JSON.parse: expected property name or '}' 3 // at line 1 column 2 of the JSON data
取而代之,寫成 "foo":對象
1 JSON.parse('{"foo" : 1 }');
數字不能用 0 開頭,好比01,而且你的小數點後面必須跟着至少一個數字。blog
1 JSON.parse('{"foo" : 01 }'); 2 // SyntaxError: JSON.parse: expected ',' or '}' after property value 3 // in object at line 1 column 2 of the JSON data 4 5 JSON.parse('{"foo" : 1. }'); 6 // SyntaxError: JSON.parse: unterminated fractional number 7 // at line 1 column 2 of the JSON data
正確的寫法應該是隻寫一個1,不書寫前面的0。在小數點的後面至少要跟上一個數字:ip
1 JSON.parse('{"foo" : 1 }'); 2 JSON.parse('{"foo" : 1.0 }');