js解析与序列化json数据(三)json的解析探讨


Posted in Javascript onFebruary 01, 2013

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

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

<html> 
<head> 
<title></title> 
<script type="text/javascript"> 
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; 
} 
}); 
} 
</script> 
</head> 
<body> 
<input type="button" onclick="init()" value="测试" /> 
</body> 
</html>

以上代码先是为student添加了出生日期birthDate属性,该属性保存着一个Date对象。这个对象在经过序列化之后变成了有效地JSON字符串,然后经过解析又在studentObject中还原为一个Date对象。
Javascript 相关文章推荐
jquery ajax执行后台方法
Mar 18 Javascript
JQuery中dataGrid设置行的高度示例代码
Jan 03 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
JavaScript中Object.prototype.toString方法的原理
Feb 24 Javascript
JavaScript格式化json和xml的方法示例
Jan 22 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
JQuery的加载和选择器用法简单示例
May 13 jQuery
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
Apr 09 Javascript
vue 实现setInterval 创建和销毁实例
Jul 21 Javascript
js解析与序列化json数据(二)序列化探讨
Feb 01 #Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
Feb 01 #Javascript
百度地图api应用标注地理位置信息(js版)
Feb 01 #Javascript
jquery select动态加载选择(兼容各种浏览器)
Feb 01 #Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 #Javascript
js用Date对象处理时间实现思路及代码
Jan 31 #Javascript
document.all的一个比较完整的总结及案例
Jan 31 #Javascript
You might like
配置PHP使之能同时支持GIF和JPEG
2006/10/09 PHP
用缓存实现静态页面的测试
2006/12/06 PHP
php 更新数据库中断的解决方法
2009/06/05 PHP
php 静态变量的初始化
2009/11/15 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
快速掌握jQuery插件WebUploader文件上传
2016/11/07 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
材料加工硕士生求职信
2013/10/10 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
人资专员岗位职责
2014/04/04 职场文书
迎国庆演讲稿
2014/09/05 职场文书
房屋租房协议书范本
2014/12/04 职场文书
初中班主任教育随笔
2015/08/15 职场文书
五年级作文之想象作文
2019/10/30 职场文书