js中序列化与反序列化

来源:互联网 发布:淘宝 不经过物流 收货 编辑:程序博客网 时间:2024/06/14 00:06

1.序列化的含义:

    序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中  读取或反序列化对象的状态。我们可以认为将对象序列化以后便于数据的传输。

2. json对象为javaScript对象的表示方法,ECMAScript 5中提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原JavaScript对象。

3.json对象序列化--stringif()的使用

   var person = {name:"张三",age:12,sex:"男"};

   var person1 = JSON.stringify(person);  ------这样序列化后的结果为:person1={name:"张三",age:12,sex:"男"}; 

   var person2 =  JSON.stringify(person,["name","age"] );    ------这样序列化后的结果为:person2={name:"张三",age:12}; 

    stringify(a,b,c)的原始方法中含有三个参数,其中第二个参数和第三个参数是可选的(即可要可不要)

     第一个参数:布尔值、数字、字符串的包装对象在序列化的过程中会自动转换成对应的原始值

                            undefined、任意函数、symbol值在序列化的过程中会被忽略或被转换成null

    第二个参数:为过滤参数,可以控制输出,如 person2

    第三个参数:可以控制字符串之间的间距,如果是一个数字,则在字符串化时每一个级别会比上一个级别多缩进 c  个字符

4. json 字符串的反序列化(对象的还原)--parse() 的使用

    JSON.parse(x,y);中的参数含义

    第一个参数x:x 必须是一个有效的JSON字符串

    第二个参数y:y代表一个可选择的参数,是一个函数,将为对象的每一个成员调用此函数。

 

想进一步学习的同学可以参考下面地址:

http://www.cnblogs.com/shytong/p/4960418.html

 

  

1 0