关于html5--localStorage 储存json

本文介绍了Web存储机制,探讨了如何通过sessionStorage和localStorage克服cookie的限制。提供了详细的localStorage操作方法,包括获取、设置和清除存储的数据。同时展示了如何处理嵌套的JSON数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Web存储机制,为了克服服由cookie 带来的一些限制,当数据需要被严格控制在客户端上时,无须持续地将数据发回服务器。提供一种在cookie 之外存储会话数据的途径和另一种存储大量可以跨会话存在的数据的机制,即sessionStorage 和globalStorage。后来在h5 修订时将 globalStorage 废弃换成了localStorage,与globalStorage 不同,不能给localStorage 指定任何访问规则;规则事先就设定好了。要访问同一个localStorage 对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。

主要方法 localStorage.getItem,localStorage.setItem,localStorage.removeItem



var localStorageFunc = {
    //获取 localStorage
    getStorage:function(storage){
        var str = localStorage.getItem(storage);
        if(str != null && str != ''){
            var obj = JSON.parse(JSON.parse(str));
            return obj;
        }
    },
    //设置 localStorage 未嵌套
    setStorage:function(storage,key,val){
        var obj = this.getStorage(storage);
        var saveObj = this.utilStorage(obj,key,val);
        localStorage.setItem(storage,saveObj);
    },
    //设置 localStorage 嵌套 
    secondStorage:function(storage,tagKey,key,val){
        var obj = this.levelStorage(storage,tagKey,key,val);
        this.setStorage(storage,tagKey,obj);
    },
    //清除 localStorage 
    clearStorage:function(storage){
        localStorage.removeItem(storage);
    },
    //json 整理格式化
    utilStorage:function(obj,key,val){
        if(typeof obj == 'object'){
            obj[key] = val;
            var str = JSON.stringify(obj);
            str = str.replace(/\\/g,'');
            obj = JSON.stringify(str);
        }else{
            var item = '{"'+key+'":"' + val + '"}';
            obj = JSON.stringify(item);
        }
        return obj;
    },
    //次级json  整理格式化
    levelStorage:function(storage,tagObj,key,val){
        var tag = this.getStorage(storage);
        var tagItem = tag[tagObj];
        if(typeof tagItem == 'object'){
            tagItem[key] = val;
        }else if(tagItem == undefined){
            tagItem = '{"'+key+'":"' + val + '"}';
            tagItem = JSON.parse(tagItem);
        }
        return tagItem;
    }
};


json 嵌套



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值