代码如下
var taskString = window.localStorage['tasks'];
if(taskString) {
var tasks = angular.fromJson(taskString);
console.log(tasks);
}
我有一个存储在 window.localStorage ['tasks'] 中的json格式字符串,就像这样
[{"title":"a"},{"title":"b"},{"title":"c"}]
这样var taskString
就是[{"title":"a"},{"title":"b"},{"title":"c"}]
在代码中我尝试将此字符串解析为json数组tasks
,并且数组应包含三个对象,其title属性分别设置为 a,b和c
但问题是,执行angular.fromJson(taskString)
后,我将数组打印到控制台,在数组中标题变为 b,c和undefined
这是该功能的错误吗?或者我是否在我的代码中做了一些我不应该做的事情?
由于
答案 0 :(得分:0)
var json = '[{"title":"a"},{"title":"b"},{"title":"c"}]';
var obj = angular.fromJson(json);
console.log(obj);
对我来说很好,下面是小提琴: http://jsfiddle.net/n8ezb7sg/89/
答案 1 :(得分:0)
似乎工作正常。请查看以下示例代码段。我将localStorage
模仿为storage
。
检查是否有任何愚蠢的错误或是否正确设置。
var storage = {
setItem: function(name, item) {
this[name] = item
}
}
storage.setItem('tasks', '[{"title":"a"},{"title":"b"},{"title":"c"}]')
var taskString = storage['tasks'];
if (taskString) {
var tasks = angular.fromJson(taskString);
console.log(tasks);
}

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
&#13;