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 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
ajax 文件上传应用简单实现
Mar 03 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
Jul 10 Javascript
Javascript基础教程之函数对象和属性
Jan 18 Javascript
JQuery自适应窗口大小导航菜单附源码下载
Sep 01 Javascript
JS动态给对象添加属性和值的实现方法
Oct 21 Javascript
学习vue.js表单控件绑定操作
Dec 05 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
vue弹窗组件的实现示例代码
Sep 10 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 Javascript
小程序如何自主实现拦截器的示例代码
Nov 04 Javascript
Javascript中async与await的捕捉错误详解
Mar 03 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
hadoop常见错误以及处理方法详解
2013/06/19 PHP
简单谈谈favicon
2015/06/10 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
ECMAScript 基础知识
2007/06/29 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python异常的检测和处理方法
2018/10/26 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
大课间活动制度
2014/01/18 职场文书
2014年安全生产责任书
2014/07/22 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
节约用水广告语60条
2019/11/14 职场文书