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

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


posted @ 2016-04-02 11:36  HEZG  阅读(309)  评论(0编辑  收藏  举报