我正在学习AngularJS并运行一些测试,但我遇到了以下问题:我正在尝试读取一个JSON文件,将其解析为一个对象并在屏幕上显示其属性。我读到$ http会自动解析JSON文本,所以我编写了以下代码:
$http.get("/people").success(
function(data, status, headers, config) {
$scope.data = data.people;
}
);
这是我的JSON文件:
{ "people": [
{
"id": "0",
"name": "Cave Jhonson",
"company": "Aperture Science"
},
{
"id": "1",
"name": "Gustavo Fring",
"company": "Los Pollos Hermanos"
}
]
}
哪个在我的项目文件夹中。我正在运行一个Python服务器。最后,我试图用简单的HTML显示信息:
<p>{{data.people[0].name}}</p>
但是当我在Firefox中打开页面时,信息没有显示,我收到此错误消息:“错误:JSON.parse:期望的属性名称或'}'” 我的JSON是有效的,所以我无法理解为什么$ http没有解析它。
答案 0 :(得分:0)
此行不正确:<p>{{data.people[0].name}}</p>
您已将代码放在数据范围内,因此请使用
<p>{{data[0].name}}</p>
或者您可以使用ng-repeat显示所有类似的记录
<div ng-repeat='item in data'>
<p>Id: {{item.id}}, Name: {{item.name}}, company: {{item.company}}</p>
<div>