在日常前端開發中,我們經常需要將服務器返回的json字符串轉換成javascript對象。這時,我們可以使用eval()函數來將json字符串轉換成javascript對象。
eval()函數可以將字符串轉化為可執行的javascript代碼,并把執行后的結果返回。因此,我們可以使用eval()函數來解析json字符串并將其轉換成javascript對象。
// 定義一個json字符串 var jsonStr = '{"name":"Tom","age":18,"gender":"male"}'; // 使用eval()函數將json字符串轉換為javascript對象 var jsonObj = eval('('+ jsonStr +')'); // 輸出javascript對象 console.log(jsonObj); // 輸出結果為:{"name":"Tom","age":18,"gender":"male"}
注意,在使用eval()函數解析json字符串的時候,必須將json字符串用一對小括號括起來。這是因為json字符串只是一個普通的字符串,在拼接的時候需要將其轉化為表達式,而加上小括號之后就可以將其轉化為一個對象。
除了使用eval()函數,我們還可以使用JSON.parse()函數來將json字符串轉換成javascript對象。JSON.parse()函數是ES5引入的新函數,可以更方便、更安全地將json字符串轉換成javascript對象。
// 定義一個json字符串 var jsonStr = '{"name":"Tom","age":18,"gender":"male"}'; // 使用JSON.parse()函數將json字符串轉換為javascript對象 var jsonObj = JSON.parse(jsonStr); // 輸出javascript對象 console.log(jsonObj); // 輸出結果為:{"name":"Tom","age":18,"gender":"male"}
雖然eval()函數和JSON.parse()函數都可以將json字符串轉換成javascript對象,但是建議使用JSON.parse()函數,因為eval()函數存在安全隱患。
總之,在日常前端開發中,我們需要將json字符串轉換成javascript對象的時候,可以使用eval()函數或JSON.parse()函數。而由于eval()函數存在安全隱患,建議使用JSON.parse()函數。
下一篇html 代碼示例