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脚本实现Web页面信息交互
Dec 21 Javascript
javascript的解析执行顺序在各个浏览器中的不同
Mar 17 Javascript
sails框架的学习指南
Dec 22 Javascript
jquery实现点击页面计算点击次数
Jan 23 Javascript
简介JavaScript中的push()方法的使用
Jun 09 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
Vue左滑组件slider使用详解
Aug 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扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
详解Angular的8个主要构造块
2017/06/20 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
管理部部长岗位职责
2013/12/05 职场文书
会议邀请函范文
2014/01/09 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
房屋所有权证明
2015/06/19 职场文书
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python