亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js序列化和反序列化的使用講解

 更新時(shí)間:2019年01月19日 16:30:03   作者:muzidigbig  
今天小編就為大家分享一篇關(guān)于js序列化和反序列化的使用講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

(1)序列化

即js中的Object轉(zhuǎn)化為字符串

1.使用obj.toJSONString()

var str=obj.toJSONString(); //將JSON對(duì)象轉(zhuǎn)化為JSON字符 

2.使用JSON.stringify(obj)

var str=JSON.stringify(obj); //將JSON對(duì)象轉(zhuǎn)化為JSON字符 

(2)反序列化

即js中JSON字符串轉(zhuǎn)化為Object

1.使用eval('('+josnStr+')')

var obj=eval("("+data+")");

為什么要 eval這里要添加 "("+data+");//”呢?

原因在于:eval本身的問(wèn)題。 由于json是以”{}”的方式來(lái)開(kāi)始以及結(jié)束的,在JS中,它會(huì)被當(dāng)成一個(gè)語(yǔ)句塊來(lái)處理,所以必須強(qiáng)制性的將它轉(zhuǎn)換成一種表達(dá)式。

2.使用jsonStr.parseJSON()

​var obj = jsonStr.parseJSON(); //由JSON字符串轉(zhuǎn)換為JSON對(duì)象

3.使用parse(jsonStr)

var obj = JSON.parse(data); //由JSON字符串轉(zhuǎn)換為JSON對(duì)象

(3)使用場(chǎng)景

1.向后臺(tái)傳遞參數(shù)、接收后臺(tái)返回值

  如果后臺(tái)返回的是一個(gè)String(Object序列化后返回),那么需要在js中使用eval或者parse等轉(zhuǎn)化為Object再使用;

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

2.在頁(yè)面間傳遞數(shù)據(jù),特別是數(shù)組時(shí)

  需要使用序列化,否則IE會(huì)報(bào)錯(cuò):不能執(zhí)行已經(jīng)釋放Script的代碼

3.在進(jìn)行本地存儲(chǔ)時(shí)

  存儲(chǔ)在本地window.localStorage.setItem(key,value)存儲(chǔ)的value是json序列化的字符串;獲取得到的window.localSorage.getItem(key)也是json序列化的字符串,需要經(jīng)過(guò)json的反序列化進(jìn)行使用(常見(jiàn)json序列化數(shù)組)

若有不足請(qǐng)多多指教!希望給您帶來(lái)幫助!

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論