将复杂对象存储在chrome.storage中

时间:2014-06-14 13:07:56

标签: javascript arrays google-chrome

我正在编写一个需要存储多维数组的chrome扩展。 groupList存储另一个数组。 每当检索存储的对象时,chrome返回对象内部的空数组。

function Groups(){
  this.groupList = [];
}

//some more Code which fills groupList

function saveGroups(){
  chrome.storage.local.set({'groups':Groups});
}

function loadGroups(){
  chrome.storage.local.get('groups', function (result) {
    var groups = result.groups.groupList;
    Group.groupList.concat(groups);
  });
}

loadGroups返回:

Object
groupList: Array[0]
length: 0
__proto__: Array[0]
__proto__: Object

2 个答案:

答案 0 :(得分:1)

本地存储是仅字符串存储。

在将复杂对象保存到存储之前和之后使用JSON.stringifyJSON.parse

答案 1 :(得分:0)

要存储数组,您需要执行以下操作:

function saveGroups(){
  chrome.storage.local.set({'groups':{groupList:[]}});
}