關於localstorage儲存JSON對象的問題

來源:互聯網
上載者:User

標籤:ons   nbsp   對象   pre   cal   技術   tag   ring   div   

如果你嘗試用LocalStorage儲存Object,卻意外發現取出來以後不是你想要的,例如:

儲存一個對象,並將對象的name屬性的值給P標籤。

HTML:

  <p></p>

 

JS:

  var fruit={        name:‘apple‘,        color:‘red‘,        taste:‘sweet‘    }    localStorage.myfruit=fruit;    console.log(localStorage.myfruit);    document.getElementsByTagName(‘p‘)[0].innerHTML=localStorage.myfruit.name;

結果:

這時你會發現name的值取不出來。因此需要我們在存取Object的時候,額外進行一些操作,如下:

JS:

  

  var fruit={
    name:‘apple‘,
    color:‘red‘,
    taste:‘sweet‘
  }



  localStorage.myfruit=JSON.stringify(fruit);//將物件類型轉成字串類型儲存
  console.log(localStorage.myfruit);


  var obj=JSON.parse(localStorage.myfruit);//將字串重新解析成JSON對象
  document.getElementsByTagName(‘p‘)[0].innerHTML=obj.name;


 

結果:

 

 

結論:

  在使用LocalStorage進行儲存時需要先使用JSON.stringify()方法將Object轉換成String,然後儲存。

  在取值時需要使用JSON.parse()方法將String轉回Object。

關於localstorage儲存JSON對象的問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.