zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    Linux用户配置sudo权限(visudo)
    Memcached 实战
    安装完centos7 root目录下的文件anaconda-ks.cfg
    通过命令查看centos机器公网ip
    .env修改后不生效
    laravel事务回滚失败
    windows10 PHP7 Sqlserver 扩展
    PHP生成html格式数据字典
    服务器初始化脚本
    PHP导出Excel表格实例
  • 原文地址:https://www.cnblogs.com/konglxblog/p/10156450.html
Copyright © 2011-2022 走看看