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 相关文章推荐
javascript引用赋值(地址传值)用法实例
Jan 13 Javascript
直接拿来用的页面跳转进度条JS实现
Jan 06 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 Javascript
基于javascript实现的快速排序
Dec 02 Javascript
Angular.js跨controller实现参数传递的两种方法
Feb 20 Javascript
angular 动态组件类型详解(四种组件类型)
Feb 22 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
深入理解js A*寻路算法原理与具体实现过程
Dec 13 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 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伪造referer实例代码
2008/09/20 PHP
PHP分页显示制作详细讲解
2008/11/19 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
JavaScript 学习技巧
2010/02/17 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
js创建数组的简单方法
2016/07/27 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
关于Django外键赋值问题详解
2017/08/13 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
python实现日常记账本小程序
2018/03/10 Python
Python简单生成随机数的方法示例
2018/03/31 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
环境保护建议书
2014/08/26 职场文书
机关作风建设自查报告
2014/10/22 职场文书
教师工作决心书
2015/02/04 职场文书
2015年班干部工作总结
2015/04/29 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
修改并编译golang源码的操作步骤
2021/07/25 Golang
Python自动化实战之接口请求的实现
2022/05/30 Python
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL