js的序列化和反序列化

(1)序列化javascript

               即js中的Object转化为字符串java

               1.使用toJSONStringjson

[javascript] view plain copy
  1. var last=obj.toJSONString(); //将JSON对象转化为JSON字符  

              2.使用stringify数组

[javascript] view plain copy
  1. var last=JSON.stringify(obj); //将JSON对象转化为JSON字符  

 

(2)反序列化spa

               即js中JSON字符串转化为Object.net

               1.使用eval对象

[javascript] view plain copy
  1. var obj=eval("("+data+")");  

             为何要 eval这里要添加 "("+data+");//”呢? 
             缘由在于:eval自己的问题。 因为json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,因此必须强制性的将它转换成一种表达式。
               2.使用parseJSONblog

[javascript] view plain copy
  1. var obj = data.parseJSON(); //由JSON字符串转换为JSON对象  

               3.使用parseip

[javascript] view plain copy
  1. var obj = JSON.parse(data); //由JSON字符串转换为JSON对象  



(3)使用场景字符串

               1.向后台传递参数、接收后台返回值

                  若是后台返回的是一个String(Object序列化后返回),那么须要在js中使用eval或者parse等转化为Object再使用;

                  若是返回时传递了类型,好比就是Object,那么直接使用就好

               2.在页面间传递数据,特别是数组时

                   须要使用序列化,不然IE会报错:不能执行已经释放Script的代码

相关文章
相关标签/搜索