Save json to chrome storage / local storage

徘徊边缘 提交于 2021-01-02 06:42:13

问题


I want to save json to chrome or local storage. I also need to be able too add items without losing the others.


回答1:


Updated

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}
})();

how do you use?

When you want to set a value:

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

When you want to get the value:

var a = local.get('valueA')

When you want to update a value or insert a new one

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



回答2:


try this code:

// 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);



回答3:


What you want to do is simple with localDataStorage, where you can transparently set/get any of the following "types": Array, Boolean, Date, Float, Integer, Null, Object or String.

[DISCLAIMER] I am the author of the utility [/DISCLAIMER]

Examples:

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

All of the conversion work is done in the background for you: all you have to do is set & get. Type conversion is performed on-the-fly.



来源:https://stackoverflow.com/questions/34951170/save-json-to-chrome-storage-local-storage

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!