视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
js解析与序列化json数据(三)json的解析探讨_json
2020-11-27 21:07:15 责编:小采
文档


这一节我们主要讨论json的解析。
JSON.parse()方法也可以接收另一个参数,该参数是一个函数,将早每个键值对上调用。为了区别JSON.stringify()接收的替换(过滤)函数(replacer),这个函数被称作还原函数(reviver),但实际上这两个函数的签名是相同的——它们都接收连个参数,一个键和一个值,而且都需要返回一个值。

如果还原函数返回undefined,则表示要从结果中删除相应的键;如果返回其他值,则将该值插入到结果中。如:
代码如下:




function init()
{
var student={
name:"Bill",
birthDate:new Date(1990,8,4)
};
var jsonText=JSON.stringify(student);
var studentObject=JSON.parse(jsonText,function(key,value){
if(key=="birthDate")
{
return new Date(value);
}
else
{
return value;
}
});
}







以上代码先是为student添加了出生日期birthDate属性,该属性保存着一个Date对象。这个对象在经过序列化之后变成了有效地JSON字符串,然后经过解析又在studentObject中还原为一个Date对象。

下载本文
显示全文
专题