解决html5中localStorage 存储json对象存储格式问题

localStorage.setItem(att)会自动将att存储成字符串形式,如:

 代码如下 复制代码

var arr=[1,2,3];
localStorage.setItem("temp",arr);
typeof localStorage.getItem("temp");会返回String
localStorage.getItem("temp");会返回1,2,3

但值得注意的是,localStorage.setItem()却不会自动将Json对象转成字符串形式,如:

 代码如下 复制代码

var obj={"a":1,"b":2];
localStorage.setItem("temp2",obj);
typeof localStorage.getItem("temp2");也会返回String
localStorage.getItem("temp");却返回[object Object]

用localStorage.setItem()正确存储json对象方法是:存储前先用JSON.stringify()方法将json对象转换成字符串形式,如:

 代码如下 复制代码

var obj={"a":1,"b":2};
obj=JSON.stringify(obj);
localStorage.setItem("temp2",obj);
typeof localStorage.getItem("temp2");返回String
localStorage.getItem("temp2");返回字符串格式:{"a":1,"b":2}

后续要操作该json对象,自然得将之前存储的json字符串先转成json对象再进行操作,如:

 代码如下 复制代码

obj=JSON.parse(localStorage.getItem("temp2"));

操作完,存储信息前,记得再转换下格式:obj=JSON.stringify(obj);

另外:localStorage.getItem(att),若att未定义该语句会返回null值,而不是undefined

时间: 2024-09-15 23:40:09

解决html5中localStorage 存储json对象存储格式问题的相关文章

HTML5中Localstorage的使用教程

  这篇文章主要介绍了HTML5中Localstorage的使用教程,Localstorage被用于浏览器和系统交互的本地传出,需要的朋友可以参考下 什么是localstorage 前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题: ① cookie大小限制在4k左右,不适合存业务数据 ② cookie每次随HTTP事务一起发送,浪费带宽 我们是做移动项目的,所以这里真实适合使用的技术是locals

html5中本地存储替代cookie:qext.LocalStorage例子

 背景 先看看各种本地存储的变革: Cookies:浏览器均支持,容量为4KB UserData:仅IE支持,容量为64KB Flash:100KB Google Gears SQLite :需要插件支持,容量无限制 LocalStorage:HTML5,容量为5M 现准备在项目中试图取代cookie的实现,基本分析如下: 每次和服务器端进行交互,cookie都会在请求中被携带,cookie过多,也造成带宽的浪费 cookie的容量很小,或许无法满足当今互联网的本地存储需求 在IE8+.Fire

html5中Localstorage本地存储的例子

在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了.二者用法完全相同,这里以localStorage为例. if(window.localStorage){  alert('This browser supports localStorage'); }else{  alert('This browser does NOT supp

HTML5中localStorage与sessionStorage使用详解

 1,Web存储介绍 HTML5的Web存储功能是让网页在用户计算机上保存一些信息.Web存储又分为两种: (1)本地存储,对应 localStorage 对象.用于长期保存网站的数据,并且站内任何页面都可以访问该数据. (2)会话存储,对应 sessionStorage 对象.用于临时保存针对一个窗口(或标签页)的数据.在访客关闭窗口或者标签页之前,这些数据是存在的,而关闭之后就会被浏览器删除. 2,本地存储与会话存储的异同 (1)本地存储和会话存储的操作代码完全相同,它们的区别仅在于数据的寿

如何在HTML页面中用Jquery取得Struts2中Seesion存储的对象

问题描述 像这样取值不行,好像是jquery和EL表达式冲突,网上说要加<%@ page isELIgnored="false"%>可是HTML中怎么加呢?不知道有什么方法可以解决.谢谢! 问题补充:<br /><img src="http://dl.iteye.com/upload/attachment/557727/f1c4dd7c-c0a4-394b-a937-fbde717c61be.jpg" /><br />

解决html5中canvas绘制圆环进度条出现模糊效果方案

问题 近期用canvas绘制了圆环进度条,但是进度条出现周围模糊的现象,针对这种现象,网上搜了搜,有人提问,但是貌似没有很好的解决方案,针对这种情况,提出几种解决方案,仅供参考! 模糊效果如下: 解决方案 针对这种情况,我提出几种解决思路. 一.运用hidpi-canvas-polyfill 的js进行解决 HiDPI Canvas Polyfill 是针对设备提出的canvas高清解决方案,首先引入hidpi-canvas.js. 这个js会自动识别你的canvas,会把你的canvas变小,

Html5 Web的5中离线存储方式之localStorage

Html5 Web的5中离线存储方式之localStorage 在HTML5越来越流行的今天,如果你还不知道离线存储,那就说明你落后了很多. HTML5的离线存储方式有多种:Web SQL Database.LocalStorage.Cookie.WebStorage.IndexedDB.FileSystem. Web SQL Database目前虽然还有浏览器支持,是唯一的关系数据库结构的存储,但W3C以及停止对其的维护和发展.我就不多说了. 今天我们主要看LocalStorage这种最简单的

谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)_javascript技巧

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)将字符串转为JSON格式: var a={"name":"tom","sex":"男","age":"24"}; var aToStr =

js+ajax处理java后台返回的json对象循环创建到表格的方法_AJAX相关

本文实例讲述了js+ajax处理java后台返回的json对象循环创建到表格的方法.分享给大家供大家参考,具体如下: //注:LO是表格的id: 需要自己创建表头, n行,9列的表格: var tab_id; function varify(cardinno) { tab_id=document.getElementById("Layer1"); displayDiv(); tab_id.style.display="none"; var url="get