JSON的新方法
1、JSON.parse()
—把字符串转成json
注意:字符串中的属性要严格的加上引号
<body>
<script>
var str='{"name":"a","sex":"m"}';//字符串中的属性要严格的加上引号
var json=JSON.parse(str);//把字符串转成json
alert(json.name);
</script>
</body>
2、JSON.stringify()
—把json转化成字符串
特点:会自动加上双引号
<body>
<script>
var str='{"name":"a","sex":"m"}';
var json=JSON.parse(str);
var json2=JSON.stringify(json);//把json转化成字符串
alert(json2);
alert(json.name);
</script>
</body>
3、新方法与eval()的区别
eval():将字符串转换成js代码,或者延时加载,安全性差
4、新方法的应用
- 用于深度克隆新对象(构造器指针引起的问题)
- 练习:将一个json复制到另一个变量里
<body>
<script>
var json={"name":"a","sex":"m"};
var str=JSON.stringify(json);//将json转化成字符串
var arr=[];
var arr2=[];
var j=0;
arr=str.split('');//split()将字符串转化成数组
for(var i=0;i<arr.length;i++){
arr2[j]=arr[i];
j++;
}
//alert(arr2);
str2=arr2.join('');//将数组转化成字符串
//alert(str2);
var json2=JSON.parse(str2);//将字符串转化成json
alert(json2.name);
</script>
</body>