JSON.parse() 報錯和一些解決方法


js 報錯

 

 

JSON.parse(null);
// null

JSON.parse("");
// VM6600:1 Uncaught SyntaxError: Unexpected end of JSON input

JSON.parse(undefined);
// VM6635:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0

 

可以發現 JSON.parse() 的參數必須符合 JSON字符串 的格式才可以被正確的轉換為對象,否則可能會引起報錯,從而對其它的代碼造成影響。

當我們不能確定服務端返回的數據類型時,這幾個例子就可以用上了:

 
// 判斷數據是否存在
var str = str && JSON.parse(str) || {};

// 判斷數據類型
var str = typeof str == "string" ? JSON.parse(str) : {};

// 通過 try catch 捕捉異常,防止代碼報錯
var c = null;
try {
    c = JSON.parse(str)
} catch (d) {}


免責聲明!

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



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