eval()函數是一種 JavaScript 函數,它可以解析和執行 JSON 對象,將其轉換成 JavaScript 對象。eval()函數接受一個字符串,然后將其解釋為 JavaScript 代碼,如果JSON對象的字符串被作為參數傳遞給 eval() 函數,它會返回一個 JSON 對象。
// 定義一個 JSON 對象 var city = '{"name": "New York", "population": 8.5 million}'; // 使用 eval() 函數返回 JSON 對象 var cityObject = eval("(" + city + ")"); // 輸出 JSON 對象 console.log(cityObject.name); // New York console.log(cityObject.population); // 8.5 million
需要注意的是,JSON對象的字符串必須被括在一對圓括號中,這是因為 eval() 函數默認將 JSON 對象字符串解釋為 JavaScript 代碼塊,而不是 JSON 對象。如果沒有括號,eval()函數會因為缺少函數聲明或語句而拋出錯誤。
另外,在使用 eval() 函數時要十分謹慎,因為它具有執行任意 JavaScript 代碼的能力,可能會存在安全風險。建議使用 JSON.parse() 函數來解析JSON字符串,以避免安全問題。