JavaScript中的对象序列化介绍


Posted in Javascript onDecember 30, 2014

与Java语言一样,JavaScript中可以对对象进行序列化和反序列化,藉此对对象进行保存。ECMAScript 5标准中,JavaScript中的对象序列化是通过JSON.stringify()来实现的,而反序列化则通过JSON.parse()来实现:

var o = {x:1, y:29, z:42};

var s = JSON.stringify(o);

console.log(s);//{"x":1,"y":29,"z":42}

var c = JSON.parse(s);

console.log(c);//Object {x=1, y=29, z=42}

对于仅支持ECMAScript 3标准的浏览器,可以使用Douglas Crockford写的json2.js (https://github.com/douglascrockford/JSON-js)。

在对对象进行序列化过程中,NaN、Infinity和-Infinity将被序列化成”null”;Date对象将被序列化成表示相应时间的字符串(但当使用JSON.parse()反序列化时,该时间字符串将作为普通字符串存在,不会被重新构建为Date对象)。

使用JSON.stringify()序列化对象时,所序列化的property仅限于对象自身(Own)的enumerable的property。而在JSON.stringify()运行时,JavaScript会先查找需要序列化的对象中是否有toJSON()方法,如果toJSON()方法存在,则调用该方法并将其返回的结果作为序列化的目标。如果toJSON()方法不存在,则使用默认的序列化方法。

Javascript 相关文章推荐
锋利的jQuery 第三章章节总结的例子
Mar 23 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
Nov 22 Javascript
原生js实现焦点轮播图效果
Jan 12 Javascript
JavaScript定义全局对象的方法示例
Jan 12 Javascript
setTimeout学习小结
Feb 08 Javascript
纯JS实现轮播图
Feb 22 Javascript
JavaScript中 DOM操作方法小结
Apr 25 Javascript
vue实现动态数据绑定
Apr 28 Javascript
html中通过JS获取JSON数据并加载的方法
Nov 30 Javascript
基于javascript实现日历功能原理及代码实例
May 07 Javascript
原生js实现随机点名
Jul 05 Javascript
原生JavaScript实现贪吃蛇游戏
Nov 04 Javascript
JavaScript中的数组特性介绍
Dec 30 #Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 #Javascript
JavaScript 实现打印,打印预览,打印设置
Dec 30 #Javascript
JavaScript中的数组操作介绍
Dec 30 #Javascript
jQuery中:first选择器用法实例
Dec 30 #Javascript
JavaScript中的类数组对象介绍
Dec 30 #Javascript
JavaScript中的方法调用详细介绍
Dec 30 #Javascript
You might like
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
python语言使用技巧分享
2016/05/31 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
总经理司机岗位职责
2014/02/06 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2015年中个人总结范文
2015/03/10 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python