在HTML5 localStorage中存儲(chǔ)對(duì)象的示例代碼

我想在HTML5中存儲(chǔ)一個(gè)JavaScript對(duì)象localStorage
,但是我的對(duì)象顯然正在轉(zhuǎn)換為字符串。
我可以使用來(lái)存儲(chǔ)和檢索原始JavaScript類(lèi)型和數(shù)組localStorage
,但是對(duì)象似乎無(wú)法正常工作。應(yīng)該嗎
這是我的代碼:
var testObject = { 'one': 1, 'two': 2, 'three': 3 }; console.log('typeof testObject: ' + typeof testObject); console.log('testObject properties:'); for (var prop in testObject) { console.log(' ' + prop + ': ' + testObject[prop]); } // Put the object into storage localStorage.setItem('testObject', testObject); // Retrieve the object from storage var retrievedObject = localStorage.getItem('testObject'); console.log('typeof retrievedObject: ' + typeof retrievedObject); console.log('Value of retrievedObject: ' + retrievedObject);
控制臺(tái)輸出為
typeof testObject: object
testObject properties:
one: 1
two: 2
three: 3
typeof retrievedObject: string
Value of retrievedObject: [object Object]
在我看來(lái),該setItem
方法是在存儲(chǔ)輸入之前將輸入轉(zhuǎn)換為字符串。
解決方案:
再次查看Apple,Mozilla和Mozilla文檔,該功能似乎僅限于處理字符串鍵/值對(duì)。
一種解決方法是在存儲(chǔ)對(duì)象之前先對(duì)它進(jìn)行字符串化處理,然后在檢索它時(shí)對(duì)其進(jìn)行解析:
var testObject = { 'one': 1, 'two': 2, 'three': 3 }; // Put the object into storage localStorage.setItem('testObject', JSON.stringify(testObject)); // Retrieve the object from storage var retrievedObject = localStorage.getItem('testObject'); console.log('retrievedObject: ', JSON.parse(retrievedObject));
到此這篇關(guān)于在HTML5 localStorage中存儲(chǔ)對(duì)象的文章就介紹到這了,更多相關(guān)HTML5 localStorage存儲(chǔ)對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
利用Node實(shí)現(xiàn)HTML5離線(xiàn)存儲(chǔ)的方法
這篇文章主要介紹了利用Node實(shí)現(xiàn)HTML5離線(xiàn)存儲(chǔ)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-16H5離線(xiàn)存儲(chǔ)Manifest原理及使用
這篇文章主要介紹了H5離線(xiàn)存儲(chǔ)Manifest原理及使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)2020-04-28HTML5中的網(wǎng)絡(luò)存儲(chǔ)實(shí)現(xiàn)方式
傳統(tǒng)方式使用document.cookie來(lái)進(jìn)行存儲(chǔ),但是由于其存儲(chǔ)的空間只有4KB左右,并且需要復(fù)雜的操作進(jìn)行解析,給發(fā)開(kāi)者帶來(lái)很多不便,為此,HTML5規(guī)范提出了網(wǎng)絡(luò)存儲(chǔ)的解決方2020-04-28使用HTML5 IndexDB存儲(chǔ)圖像和文件的示例
這篇文章主要介紹了使用HTML5 IndexDB存儲(chǔ)圖像和文件的示例的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-05HTML5離線(xiàn)應(yīng)用與客戶(hù)端存儲(chǔ)的實(shí)現(xiàn)
這篇文章主要介紹了HTML5離線(xiàn)應(yīng)用與客戶(hù)端存儲(chǔ)的實(shí)現(xiàn)的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-03HTML5 本地存儲(chǔ)實(shí)現(xiàn)購(gòu)物車(chē)功能
這篇文章主要介紹了HTML5 本地存儲(chǔ)實(shí)現(xiàn)購(gòu)物車(chē)功能的相關(guān)資料,需要的朋友可以參考下2017-09-07