如何从本地存储迭代json对象以及如何将键设置为angularjs中的另一个对象?

时间:2015-11-05 04:55:38

标签: angularjs

我有一个从本地存储中检索的对象。现在我想迭代该对象并检索每个键并将该键设置为另一个对象作为数组。

我的意思是

 var a=localStorageService.get("formStructure");
    for(var obj in a)
    {
      if(a.hasOwnProperty(obj){
         //need to retrieve key value 
         form['key']=[];
    }
}

现在我需要重复一次'并分配给另一个对象。输出必须是

        var form={
                   Test:[],
                   form:[]
                 }

1 个答案:

答案 0 :(得分:1)

在需要在localStorage上存储数据之前需要Stringify,并且在检索之后需要解析它。

请看以下示例。

以正常方式将对象设置为localStorage

var form={
       Test:[],
       form:[]
};
localStorage.setItem('formStructure', form);

以正常方式从LocalStorage获取价值。

localStorage.getItem('formStructure');
//Output is as "[object Object]"

但是如果我们将对象Stringfy为JSON,则将其保存如下

localStorage.setItem('formStructure', JSON.stringify(form));

然后,如果我们再次解析它,我们将获得正确的对象

JSON.parse(localStorage.getItem('formStructure'));

输出为对象{Test:Array [0],form:Array [0]}。适当的对象结构。

编辑:对于迭代你的对象迭代为

for(var obj in a) {
    if(a.hasOwnProperty(obj)){
         form[obj]=[];
    }
}