JSON是用来传输数据的字符串,涉及到怎么转成数据
把js转化成JSON字符串: stringify()
把JSON的字符串转化成js: parse() 和 eval_r()的区别
parse和eval的区别:
eval: 可以解析任何字符串变成js (会把植入的木马也给解析了)
parse:只能解析JSON形式的字符串变成js 并且字符串中的属性要严格的加上引号 (安全性要高一些)
// eval:把字符串转成json 的使用方法
var str=‘function show(){alert(123)}‘ //字符串
eval_r(str); //将字符串变成js
alert(typeof show); //可以检测到show已经是一个function了。
show(); //可以执行js
//parse 把字符串转成json 的使用
var str=‘function show(){alert(123)} //字符串
JSON.parse(str);
show(); //为什么不弹出来了?这就是parse和eval的区别 parse:只能解析JSON形式的字符串变成js
var str1=‘{"name":"hello"}‘;//每个属性都要加引号,parse是用严格性的
var json = JSON.parse(str1);//将字符串变成js了
//alert(json.name)
//深拷贝 递归
//stringify :将js解析为严格形式JSON的字符串
var a={name:{age:100}};//js
var str=JSON.stringify(a);//用JSON的stringify属性将对象a变成了字符串
//alert(str)//字符串
var b=JSON.parse(str);//又将字符串变成了对象
b.name.age=200;
//alert(a.name.age)
//IE678不兼容json,需要调用json2.js来做兼容
//妙味 视频名字:对象的引用