序列化与反序列化
一、为什么需要序列化和反序列化?
互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分。通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,即需要数据格式的转化。
二、具体实现方法
对象序列化是指将对象的状态转换为字符串,也可以将字符串还原为对象。ECMAScript 提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原JavaScript对象。这些方法都使用JSON作为数据交换格式。
o = {x:1,y:{z:[false,null,""]}}; //定义一个测试对象
s = JSON.stringify(0); //s是'{"x":1,"y":{"z":[false,null,""]}}'
p = JSON.parse(s); //p是o的深拷贝