zoukankan      html  css  js  c++  java
  • 关于localstorage存储JSON对象的问题

    如果你尝试用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。

  • 相关阅读:
    Rain 学习自用贴
    連休計画
    091207 晴
    记下London奥运我喜欢的几首歌
    20世纪最好的10个算法(转)
    一日一美女:告诉你什么是斐波那契螺旋线
    矩阵鞍点的寻找
    日本の物語
    a new start~ s!
    Photoshop CS5运用色彩原理去除半透明水印(转)
  • 原文地址:https://www.cnblogs.com/dengxiaobo/p/7465509.html
Copyright © 2011-2022 走看看