鍍金池/ 問答/HTML5  網(wǎng)絡(luò)安全/ 將一個對象填入window.localStorage后訪問不到其中的屬性?

將一個對象填入window.localStorage后訪問不到其中的屬性?

window.localStorage.setItem('obj', {name: 'hhh', age: 100});

localStorage.obj 是存在的,但 localStorage.obj.name 是undefined.

請問如何訪問到name的value?

回答
編輯回答
練命

localStorage只存字符串。

2017年12月13日 06:11
編輯回答
薄荷綠

localStorage只能保存字符串,
所以你傳入對象時就會自動調(diào)用對象的toString(),
所以你打印一下localStorage.obj
你會發(fā)現(xiàn)結(jié)果是[object Object]字符串

2018年8月15日 02:38
編輯回答
嫑吢丕

localStorage注意事項

一般我們會將JSON存入localStorage中,但是在localStorage會自動將localStorage轉(zhuǎn)換成為字符串形式

這個時候我們可以使用JSON.stringify()這個方法,來將JSON轉(zhuǎn)換成為JSON字符串

示例:

if(!window.localStorage){
    alert("瀏覽器不支持localstorage");
}else{
    var storage=window.localStorage;
    var data={
        name:'luozz',
        sex:'man',
        hobby:'program'
    };
    var d=JSON.stringify(data);
    storage.setItem("data",d);
    console.log(storage.data);
}
 

讀取之后要將JSON字符串轉(zhuǎn)換成為JSON對象,使用JSON.parse()方法

var storage=window.localStorage;
var data={
    name:'luozz',
    sex:'man',
    hobby:'program'
};
var d=JSON.stringify(data);
storage.setItem("data",d);
//將JSON字符串轉(zhuǎn)換成為JSON對象輸出
var json=storage.getItem("data");
var jsonObj=JSON.parse(json);
console.log(typeof jsonObj);
打印出來是Object對象

另外還有一點要注意的是,其他類型讀取出來也要進行轉(zhuǎn)換

2017年3月5日 19:19
編輯回答
念初

localStorage和sessionStorage只能存字符串,存對象的時候需要JSON.stringify這個對象,取的時候需要JSON.parse這個字符串。

2018年7月6日 05:31
編輯回答
生性

localStorage存的是字符串
你需要先轉(zhuǎn)成JSON字符串,再存
取得時候,先轉(zhuǎn)成對象

2018年7月28日 20:21
編輯回答
憶當年

謝邀,你可以試下以下代碼,如果存儲對象,需要進行一波轉(zhuǎn)換 存:對象-》字符串; ?。鹤址?》對象

let obj = {name: 'hhh', age: 100};
window.localStorage.setItem('obj', JSON.stringify(obj));

let getObj = JSON.parse(window.localStorage.getItem('obj'));
2018年7月26日 08:12
編輯回答
囍槑
 var obj = {"a": 1,"b": 2}; 

 obj = JSON.stringify(obj); 

 window.localStorage.setItem("temp2", obj);//返回{"a":1,"b":2};

 obj=JSON.parse(window.localStorage.getItem("temp2"));
2017年1月25日 11:41