Angularjs 解析 json 字典数组

Angularjs parse json array of dictionaries

我正在使用 angular 的 fromJson 函数来解析 json 字符串。 如果 json 是一个简单的数组,如“[1, 2]”,则以下代码有效。但我需要的是一系列字典。

    var str = "[{'title':'hi'}, {'title':'what'}]"
    alert(str) //1
    alert(str.length) //2
    var j = angular.fromJson(str)
    alert(j) //3
    alert(j.length) //4

1和2被alerted out,是字符串表示 3和4不是,说明fromJson有错误。

注意:与JSON.parse或$._parseJSON函数无关。由于某些原因,我需要使用 angular 之一。

那是因为你的JSON无效。要使 json 有效,您必须将属性用双引号而不是单引号括起来。所以尝试使用

  '[{"title":"hi"}, {"title":"what"}]'

doc

Property names must be double-quoted strings; trailing commas are forbidden.