您的位置:首页 > Web前端 > JavaScript

21、H5新增js属性之JSON新方法

2016-08-23 16:50 405 查看

JSON的新方法

    parse() : 把字符串转成json
        字符串中的属性要严格的加上引号
    stringify() : 把json转化成字符串
        会自动的把双引号加上

    与eval的区别
eval():对任何的字符串进行解析变成js,但不能识别json中的:
parse():字符串中的属性要严格的加上引号
        其他浏览器兼容http://www.json.org/去下载json2.js

<!doctype html><!--声明当前文档为html文档-->
<html lang="en"><!--语言为英语-->
<head><!--头部-->
<meta charset="UTF-8"><!--字符编码:utf-8国际编码  gb2312中文编码-->
<meta name="Keywords" content="关键词">
<meta name="Description" content="描述">
<title>Document</title>
<style>/*css样式表的衣柜*/
</style>
</head>
<body><!--身体-->
<script>
/*
var str = "function auto(){alert(1)}";
eval(str);
auto();
*/

/*//eval不能识别:
var str = '{name:"张三",age:"20"}';
console.log(eval(str));
var json = eval(str);
console.log(json);
alert(json.name);
*/
var str = '{"name":"张三","age":"20"}';
var json = JSON.parse(str);
alert(json.age);

//var str1 = {name:"张三"};
//这种方法会影响str1的值
/*var str2 = str1;
str2.name = "李四";
alert(str1.name);*/

//这种方法不会影响str1的值
/*var str2 = {};
for(var attr in str1){
str2[attr] = str1[attr];
}
str2.name = "李四";
alert(str1.name);*/

//新的JSON方法
/*var str1 = {name:"张三"};
var str = JSON.stringify(str1);
var str2 = JSON.parse(str);
str2.name = "李四";
//alert(str1.name);*/

var str1 = {name:{age:"20"}};
var str = JSON.stringify(str1);
var str2 = JSON.parse(str);
str2.name.age = "25";
alert(str1.name.age);
alert(str2.name.age);
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: