parse.JSON()報錯是什么原因?


哪里出錯了?

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 就是正確:

1 JSON.parse('[1, 2, 3, 4 ]');
2 JSON.parse('{"foo" : 1 }');

JSON 的屬性名必須使用雙引號

屬性名上不能使用單引號,例如: 'foo'。

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 和小數點

數字不能用 0 開頭,比如01,並且你的小數點后面必須跟着至少一個數字。

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。在小數點的后面至少要跟上一個數字:

1 JSON.parse('{"foo" : 1 }');
2 JSON.parse('{"foo" : 1.0 }');

相關鏈接

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM