简单记录一下jquery里面的JSON.parse()和JSON.stringify()函数,和js中的eval()函数的用法
1,JSON.parse 函数(常用)
作用:将 JavaScript 对象表示法 (JSON) 字符串转换为对象。
语法:JSON.parse(text [
reviver])
参数:
- text 必需。 一个有效的 JSON 字符串。
- reviver 可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。
返回值:一个对象或数组
例子:
var json = '{"name":"YZ","age":22,"University":"SJZXY"}';
var info = JSON.parse(json); //解析为JSON对象
document.write(info.name + ' is a student of ' + info.University + ' and he is ' + info.age + " years old."); /info为Object对象
2,JSON.stringify()函数
作用:将 JavaScript 值转换为 JavaScript 对象表示法 (JSON) 字符串
语法:JSON.stringify( value [, replacer] [, space])
参数:
- value 必需,通常为需要转换的JavaScript值(通常为对象或者数组)
- replacer 可选,用于转换结果的函数或者数组
- space 可选。向返回值 JSON 文本添加缩进、空格和换行符以使其更易于读取。
返回值:一个包含JSON文本的字符串
example:
var info = {name:"YZ",age:22,University:"SJZXY"};
var json = JSON.stringify(info); //转换为JSON字符串
document.write(json); //output为{"name":"GDT","age":23,"University":"GDUT"}
(3)eval()函数
作用:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
语法:eval(string)
参数:
- string 必需,要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
返回值:返回计算string的值,如果有的话 (没有则不做任何改变返回)
example:
eval("x=11;y=2;document.write(x*y)"); //output为22
document.write(eval("2+2")); //output为4
var x=10;
document.write(eval(x+17)); //output为27
eval()解析字符串的格式
alert(eval('('+'{}'+')')) 但是eval()是不安全的 容易在里面执行危险代码
例子:
var str2 = '{"a": (function(){alert("I can do something bad!");})()}';
eval('('+str2+')');
执行危险的代码 不安全 但是json.parse() 就完全克服这个难题了,所以实际中用的少 --引用网络资料 如有侵权立删