• Json常用的转换


    简单记录一下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() 就完全克服这个难题了,所以实际中用的少

    --引用网络资料 如有侵权立删


  • 相关阅读:
    深入理解JVM
    Axure RP 7.0 注册码
    jquery 单击和双击事件冲突解决方案
    8张图理解Java
    java集合运算:求交集,并集,集合差
    Java高级软件工程师面试题
    初学者手册-IDEA常用快捷键
    Java开发进阶技能(附文章引用链接)
    项目启动时报错Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
    org/apache/hadoop/hbase/mapreduce/TableReducer:Unsupported major.minor version52.0
  • 原文地址:https://www.cnblogs.com/yzzy/p/5347273.html
Copyright © 2020-2023  润新知