zoukankan      html  css  js  c++  java
  • 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() 就完全克服这个难题了,所以实际中用的少

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


  • 相关阅读:
    乱七八糟
    堆-heap
    转linux文件的读写
    @转EXT2->EXT3->EXT4
    (转)僵死进程与孤儿进程
    java
    poj-1062-昂贵的聘礼
    java 之 wait, notify, park, unpark , synchronized, Condition
    事物(笔记)
    BPX-tree
  • 原文地址:https://www.cnblogs.com/yzzy/p/5347273.html
Copyright © 2011-2022 走看看