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

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


  • 相关阅读:
    Overloaded的方法是否可以改变返回值的类型
    parseXXX的用法
    java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
    UVA 10405 Longest Common Subsequence(简单DP)
    POJ 1001 Exponentiation(大数处理)
    POJ 2318 TOYS(计算几何)(二分)
    POJ 1265 Area (计算几何)(Pick定理)
    POJ 3371 Flesch Reading Ease (模拟题)
    POJ 3687 Labeling Balls(拓扑序列)
    POJ 1094 Sorting It All Out(拓扑序列)
  • 原文地址:https://www.cnblogs.com/yzzy/p/5347273.html
Copyright © 2011-2022 走看看