色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

eval()轉換json

錢瀠龍1年前9瀏覽0評論

eval()是Javascript中的內置函數,常用于將字符串轉換為可執行的代碼,同時也可用于將json字符串轉換為Javascript對象。

var jsonString = '{"name": "Tom", "age": 18}';
var jsonObj = eval('(' + jsonString + ')');
console.log(jsonObj.name);   //"Tom"
console.log(jsonObj.age);    //18

其中,eval()函數需要在字符串外加上一對括號用來表示代碼塊,否則在解析時會報錯。

然而,eval()也存在一些危險性。因為它將字符串轉換為代碼執行,所以如果被傳入惡意字符串,就會導致代碼不受控制的執行。

var jsonString = '{"name": "Tom", "__proto__": {"isAdmin": true}}';
var jsonObj = eval('(' + jsonString + ')');
console.log(jsonObj.name);      //"Tom"
console.log(jsonObj.isAdmin);   //true

在上面的例子中,由于字符串中含有特殊屬性__proto__,會導致生成的對象中添加了額外的屬性isAdmin,這將會對系統造成安全隱患。

因此,建議使用JSON.parse()方法來進行json字符串的解析。

var jsonString = '{"name": "Tom", "age": 18}';
var jsonObj = JSON.parse(jsonString);
console.log(jsonObj.name);   //"Tom"
console.log(jsonObj.age);    //18