您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
javascript学习笔记-JSON
发布时间:2018-04-05 18:23:18编辑:雪饮阅读()
Json简单值
看起来如下语法会报错,但是却没有报错
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>雪饮个人博客</title>
</head>
<body>
<script type="text/javascript">
10
'hello'
"hello"
true
null
</script>
</body>
</html>
普通对象与json对象
//普通对象
var box={name:'xy',age:18};
//json对象
var box2={"name":"dmj","age":24};
alert(box.name);
alert(box2.name);
普通数组与json数组
//普通数组
var box=[18,'xy',true];
//json数组
var box2='[24,"dmj",true]';
json字符串的解析
var box2='[{"name":"杜敏捷","age":24},{"name":"雪饮","age":18}]';
var box2Obj=eval(box2);
alert(box2Obj[0].name);
alert(box2Obj[1].name);
ECMAscript5提供的安全解析json字符串
var box2='[{"name":"杜敏捷","age":24},{"name":"雪饮","age":18}]';
var box2Obj=JSON.parse(box2);
alert(box2Obj);
ECMAscript5提供的解析javascript对象为json字符串
该函数有3个参数
参数1:
javascript对象
参数2:
可以是一个键组成的数组或者一个函数也可以为null
参数3:
可以是一个数字或者一个字符
var box2=[{name:"杜敏捷",age:24},{name:"雪饮",age:18}];
var box2Str=JSON.stringify(box2);
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串(指定键)
var box2=[{name:"杜敏捷",age:24,love:"雪饮"},{name:"雪饮",age:18,love:"杜敏捷"}];
var box2Str=JSON.stringify(box2,['name','love']);
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串(值过滤值)
var box2=[{name:"杜敏捷",age:24,love:"雪饮"},{name:"雪饮",age:18,love:"杜敏捷"}];
var box2Str=JSON.stringify(box2,function(key,value){
if(key == "name"){
return value+"萌萌哒";
}
return value;
});
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串(缩进排版)
var box2=[{name:"杜敏捷",age:24,love:"雪饮"},{name:"雪饮",age:18,love:"杜敏捷"}];
var box2Str=JSON.stringify(box2,['name','love'],10);
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串(使用指定字符缩进排版)
var box2=[{name:"杜敏捷",age:24,love:"雪饮"},{name:"雪饮",age:18,love:"杜敏捷"}];
var box2Str=JSON.stringify(box2,['name','love'],'---');
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串(使用指定字符缩进排版)
不筛选字段
var box2=[{name:"杜敏捷",age:24,love:"雪饮"},{name:"雪饮",age:18,love:"杜敏捷"}];
var box2Str=JSON.stringify(box2,null,'---');
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串(通过toJSON筛选输出字段)
var box2=[
{name:"杜敏捷",age:24,love:"雪饮",toJSON:function(){return this.name;}},
{name:"雪饮",age:18,love:"杜敏捷",toJSON:function(){return this.name;}}
];
var box2Str=JSON.stringify(box2);
alert(box2Str);
ECMAscript5提供的解析javascript对象为json字符串中toJSON的优先级高于在第二个参数中筛选字段的优先级
var box2=[
{name:"杜敏捷",age:24,love:"雪饮",toJSON:function(){return this.name;}},
{name:"雪饮",age:18,love:"杜敏捷",toJSON:function(){return this.name;}}
];
var box2Str=JSON.stringify(box2,['name','age']);
alert(box2Str);
ECMAscript5解析json字符串的时候也可以过滤值
var box2='[{"name":"杜敏捷","age":24},{"name":"雪饮","age":18}]';
var box2Obj=JSON.parse(box2,function(key,value){
if(key=="name"){return value+"萌萌哒";}
return value;
});
alert(box2Obj);
关键字词:javascript,json