angular.fromJson无法正常工作

时间:2017-04-14 10:04:24

标签: angularjs json

代码如下

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

这是该功能的错误吗?或者我是否在我的代码中做了一些我不应该做的事情?

由于

2 个答案:

答案 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;
&#13;
&#13;