json操作
@(前端)
前后台交互问题
后台一般返回给前端的数据都是”JSON格式的数据“
什么叫做JSON格式的数据
js中数据类型两大类,一共7钟,基本类型和引用类型,基本数据类型包括字符串,数组,数字,布尔和undefined 。引用数据类型有Function 和Object。
JSON不是一个单独的数据类型,他只是一种特殊的数据格式->他是对象数据类型的
var obj = {name:"aa",age:7};//->普通格式对象
var jsonObj = ("name":"aa","age":7);//->JSON格式的对象(相对于普通的格式来说,只是把属性名用双引号包起来了,注意单引号都不行)
在window浏览器对象中,提供了一个叫做JSON的属性,它里面提供了俩个方法
JSON里常用的方法
->
window.JSON
JSON.parse->把JSON格式的字符串转换为JSON格式的对象
JSON.stringify->把JSON的对象转换为JSON格式的字符串
var jsonObj = ("name":"aa","age":7);
var jsonStr=JSON.stringjfy(jsonObj);//->'("name":"aa","age":7)'
var str = '("name":"aa","age":7)';
console.log(JSON.parse(str));//->(name:"aa",age:7)浏览器自动省略机制,其实他还是一个JSON格式
//在IE6~7浏览器中,我们的window下没有JSON对象,刚才的parse和stringify都不存在了
//1.把JSON格式的字符串转换为JSON格式的对象
//2.把JSON的对象转换为JSON格式的字符串
//怎么做
利用eval("(+str+)");->不要问为什么,一定要记住使用eval的话,不要忘记手动加一个小括号。(可以不加,但是往往会出错)
eval();//->[eval()](http://www.w3school.com.cn/jsref/jsref_eval.asp) 函数可计算某个字符串,并执行其中的的 JavaScript 代码。