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。

  • 相关阅读:
    禁止进入activity自动弹出键盘
    sqlite的limit使用
    关于anroid设置webview背景方法探讨(转)
    遍历ListView,查出每一项的内容
    虚拟机网络不通故障解决
    zabbix第一篇:zabbix安装及使用
    ansible使用1
    PS1修改xshell命令行样式
    手动配置网卡配置文件ifcfg-eth0
    Linux虚拟机centos系统安装
  • 原文地址:https://www.cnblogs.com/dengxiaobo/p/7465509.html
Copyright © 2011-2022 走看看