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來做兼容
//妙味 視頻名字:對象的引用