【发布时间】:2014-10-08 12:35:23
【问题描述】:
不知道你能不能帮帮我。我一直在尝试让 JSON 与 Angular.js 一起工作,但我在 JSON $http.get() 调用的细节方面遇到了困难。我只想让每个人的名字都显示在网页上的“人员”标题下,但我的 JSON 调用不想工作。我知道这可能是一个愚蠢的小语法错误,但我似乎找不到它。所有帮助表示赞赏。这是我的代码:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html ng-app='People'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.4/angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
<title>People Webpage</title>
</head>
<body>
<h3>People</h3>
<div ng-controller='PeopleController as peeps'>
<div ng-repeat='person in peeps.people'>
<h5>{{person.name}}</h5>
</div>
</div>
</body>
</html>
JSON:
{
{ 'name' : 'Jack', 'age' : '28', 'weight' : '75kg'},
{ 'name' : 'Jill', 'age' : '25', 'weight' : '66kg'}
}
JAVASCRIPT:
var app = angular.module('People',[]);
app.controller('PeopleController',[ '$http' ,function($http){
var names = this;
names.people = [];
$http.get('people.json').success(function(data){
names.people = data;
});
}]);
我尝试了警报(数据);在成功回调中,我收到的 JSON 格式如下:
"{{ 'name' : 'Jack', 'age' : '28', 'weight' : '75kg'},{ 'name' : 'Jill', 'age' : '25', 'weight' : '66kg'}}"
但是,如果尝试对这样创建的 JavaScript 对象调用警报:
var people = [
{ 'name' : 'Jack', 'age' : '28', 'weight' : '75kg'},
{ 'name' : 'Jill', 'age' : '25', 'weight' : '66kg'}
];
alert(people);
我收到了以下内容:
{{ object : Object, object : Object, object : Object},
{ object : Object, object : Object, object : Object}}
这与我的问题有关吗?
【问题讨论】:
-
那个 JSON 准确吗?看起来外部大括号可能应该是方括号(数组)...
-
同意您需要 JSON 来为 peeps.people 中的人员输出一个数组才能工作
-
如何让 JSON 输出一个数组?
-
在 JSON 中使用 [] 括号而不是 {} ?
-
是的,第一组大括号使用 [] 而不是 {}。您是否可以控制 JSON 的输出方式?
标签: javascript html json angularjs getjson