繁体   English   中英

将json保存到chrome存储/本地存储

[英]Save json to chrome storage / local storage

我想将 json 保存到 chrome 或本地存储。 我还需要能够在不丢失其他项目的情况下添加项目。

更新

var local = (function(){

    var setData = function(key,obj){
        var values = JSON.stringify(obj);
        localStorage.setItem(key,values);
    }

    var getData = function(key){
        if(localStorage.getItem(key) != null){
        return JSON.parse(localStorage.getItem(key));
        }else{
            return false;
        }
    }

    var updateDate = function(key,newData){
        if(localStorage.getItem(key) != null){
            var oldData = JSON.parse(localStorage.getItem(key));
            for(keyObj in newData){
                oldData[keyObj] = newData[keyObj];
            }
            var values = JSON.stringify(oldData);
            localStorage.setItem(key,values);
        }else{
            return false;
        }
    }

    return {set:setData,get:getData,update:updateDate}
})();

你怎么用?

当你想设置一个值时:

var a = {'test':123};
local.set('valueA',a);

当你想获得价值时:

var a = local.get('valueA')

当您想要更新一个值或插入一个新值时

var b = {'test':333,'test2':555};
local.set('valueA',b);

试试这个代码

// Object to store
var person = {
  'name': 'Dan',
  'age': 20,
  id: 7644
};

var value = JSON.stringify(person);
var key = person.id;

// Set person object into storage
localStorage.setItem(key, value);

// Get person object from storage
var personFromStorage = localStorage.getItem(key);

personFromStorage = JSON.parse(personFromStorage);

alert(personFromStorage.name);

您想要做的很简单localDataStorage ,您可以在其中透明地设置/获取以下任何“类型”:数组、布尔值、日期、浮点数、整数、空值、对象或字符串。

[免责声明] 我是该实用程序的作者 [/免责声明]

例子:

localDataStorage.set( 'key1', 'Belgian' );
localDataStorage.set( 'key2', 1200.0047 );
localDataStorage.set( 'key3', true );
localDataStorage.set( 'key4', { 'RSK' : [1,'3',5,'7',9] } );
localDataStorage.set( 'key5', null );

localDataStorage.get( 'key1' );   -->   'Belgian'
localDataStorage.get( 'key2' );   -->   1200.0047
localDataStorage.get( 'key3' );   -->   true
localDataStorage.get( 'key4' );   -->   Object {RSK: Array(5)}
localDataStorage.get( 'key5' );   -->   null

所有转换工作都在后台为您完成:您所要做的就是设置和获取。 类型转换是即时执行的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM