js的序列化和反序列化


(1)序列化

               即js中的Object轉化為字符串

               1.使用toJSONString

[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)反序列化

               即js中JSON字符串轉化為Object

               1.使用eval

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

             為什么要 eval這里要添加 "("+data+");//”呢? 
             原因在於:eval本身的問題。 由於json是以”{}”的方式來開始以及結束的,在JS中,它會被當成一個語句塊來處理,所以必須強制性的將它轉換成一種表達式。
               2.使用parseJSON

[javascript] view plain copy
  1. var obj = data.parseJSON(); //由JSON字符串轉換為JSON對象  

               3.使用parse

[javascript] view plain copy
  1. var obj = JSON.parse(data); //由JSON字符串轉換為JSON對象  



(3)使用場景

               1.向后台傳遞參數、接收后台返回值

                  如果后台返回的是一個String(Object序列化后返回),那么需要在js中使用eval或者parse等轉化為Object再使用;

                  如果返回時傳遞了類型,比如就是Object,那么直接使用就好

               2.在頁面間傳遞數據,特別是數組時

                   需要使用序列化,否則IE會報錯:不能執行已經釋放Script的代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM