Angular和JSON,无法解析ng-repeat

时间:2014-08-13 13:47:03

标签: json angularjs angularjs-ng-repeat

我非常抱歉,如果有这样的帖子,我试图搜索但没有找到答案。

问题:

我正在调用网络服务并从Dynamics Nav服务接收不太完整的JSON数据:

JSON:

"[{\"type\":\"2\",\"number\":\"VHT3866\",\"location\":\"Delta\",\"destinationNo\":\"\",\"contactName\":\"Jesus\",\"shipToName\":\"Lord jesus\",\"highPriority\":\"false\",\"hasComment\":\"true\",\"assignedTo\":\"\",\"source\":\"\"},{\"type\":\"2\",\"number\":\"VHT3866\",\"location\":\"Delta\",\"destinationNo\":\"\",\"contactName\":\"Jesus\",\"shipToName\":\"Lord jesus\",\"highPriority\":\"false\",\"hasComment\":\"true\",\"assignedTo\":\"\",\"source\":\"\"}]"

然后我使用此JSON并使用angular.fromJson(json)来正确使用它。

它似乎不会变成一个javascript对象数组,而只是纯文本。

但是,如果我使用相同的JSON,只需将其手动放入:

var json = angular.fromJson(stringfromserver);

它变成了一个合适的javascript对象,ng-repeat不会抛出任何错误。

2 个答案:

答案 0 :(得分:1)

我在Quora上找到了答案:

--- Le Batoure, 来自json的Angular现在是严格的,所以假设这个字符串来自可靠来源,你必须使用" eval()"加上围绕括号中的调用以使其工作

var hatsData = angular.fromJson(eval("(" + hats +")"))

答案 1 :(得分:0)

例如,如果您从http请求中提取JSON,则不需要使用fromJson方法。

Angular会自动解析JSON,您可以直接使用它。