2014-02-27 68 views
0

我正在学习AngularJS并运行一些测试,但我遇到了以下问题:我试图读取JSON文件,将其解析为对象并在屏幕上显示其属性。我读了$ HTTP解析JSON文本自动,所以我写了下面的代码:用AngualrJS解析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不解析它。

+2

你的json无效。查看“公司”行后的逗号 – AardVark71

+1

您是否检查过console.log($ data);打印? – ianaz

+0

对不起,我粘贴了错误的文字,我的实际JSON没有逗号。已编辑帖子 – faeru

回答

0

这条线是inccorrect:<p>{{data.people[0].name}}</p>

你已经把代码在数据范围,以便使用

<p>{{data[0].name}}</p> 

或者你可以使用NG-重复显示这样

所有记录
<div ng-repeat='item in data'> 
    <p>Id: {{item.id}}, Name: {{item.name}}, company: {{item.company}}</p> 
<div>