• JSON.parse、JSON.stringify和eval的区别和作用


    (1)JSON.parse() 函数
    作用:将 JavaScript 对象表示法 (JSON) 字符串转换为对象。  
    语法:JSON.parse(text [, reviver])
    参数:
    · text  必需。 一个有效的 JSON 字符串。
    · reviver  可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。
    返回值:一个对象或数组
    example:
    var json = ‘{“name”:“GDT”,“age”:23,“University”:“GDUT”}’;
    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:“GDT”,age:23,University:“GDUT”};
    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=10;y=20;document.write(x*y)”); //output为200
    document.write(eval(“2+2”));  //output为4
    var x=10;
    document.write(eval(x+17));  //output为27

    使用eval()函数也可以将JSON字符串解析为对象,这个功能能完成JSON.parse()的功能,但是有不一样的地方,请看下面代码

    1 // JSON.parse()
    2 var json = ‘{“name”:“GDT”,“age”:23,“University”:“GDUT”}’;
    3 var info = JSON.parse(json);    //解析为JSON对象
    4 document.write(info); //output为[object Object]
    5
    6 //eval()
    7 var json = ‘{“name”:“GDT”,“age”:23,“University”:“GDUT”}’;
    8 var info = eval(’(’ + json + ‘)’); //解析为JSON对象
    9 document.write(info); //output为[object Object](1)JSON.parse() 函数
    作用:将 JavaScript 对象表示法 (JSON) 字符串转换为对象。  
    语法:JSON.parse(text [, reviver])
    参数:
    · text  必需。 一个有效的 JSON 字符串。
    · reviver  可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。
    返回值:一个对象或数组
    example:
    1 var json = ‘{“name”:“GDT”,“age”:23,“University”:“GDUT”}’;
    2 var info = JSON.parse(json);  //解析为JSON对象
    3 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:
    1 var info = {name:“GDT”,age:23,University:“GDUT”};
    2 var json = JSON.stringify(info); //转换为JSON字符串
    3 document.write(json); //output为{“name”:“GDT”,“age”:23,“University”:“GDUT”}
      
    (3)eval()函数
    作用:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
    语法:eval(string)
    参数:
    · string  必需,要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
    返回值:返回计算string的值,如果有的话 (没有则不做任何改变返回)
    example:
    1 eval(“x=10;y=20;document.write(x*y)”); //output为200
    2 document.write(eval(“2+2”));  //output为4
    3 var x=10;
    4 document.write(eval(x+17));  //output为27

    使用eval()函数也可以将JSON字符串解析为对象,这个功能能完成JSON.parse()的功能,但是有不一样的地方,请看下面代码

    1 // JSON.parse()
    2 var json = ‘{“name”:“GDT”,“age”:23,“University”:“GDUT”}’;
    3 var info = JSON.parse(json);    //解析为JSON对象
    4 document.write(info); //output为[object Object]
    5
    6 //eval()
    7 var json = ‘{“name”:“GDT”,“age”:23,“University”:“GDUT”}’;
    8 var info = eval(’(’ + json + ‘)’); //解析为JSON对象
    9 document.write(info); //output为[object Object]

  • 相关阅读:
    shell编程—简介(一)
    短信验证码测试项
    测试,不断成长
    初探软件测试心理学
    观察力,细心需要强化
    1=4,2=8,3=24,4=??问题
    IOS空数据页面,网络加载失败以及重新登陆View的封装(不需要继承)
    iOS 快速排序
    iOS支付宝,微信,银联支付集成封装调用(下)
    iOS支付宝,微信,银联支付集成封装(上)
  • 原文地址:https://www.cnblogs.com/konglxblog/p/10156450.html
Copyright © 2020-2023  润新知