如何在angularjs中显示json文件中的数据?

时间:2015-02-04 08:17:51

标签: json angularjs

我有一个像这样的json

{
 "count": 67,
 "0": {
    "id": "2443",
    "name": "Art Gallery",
    "category": {
        "id": "2246",
        "name": "Gifts & Memories"
    },
   "deckLocation": [
      {
        "id": "2443",
        "deck": {
          "deckNo": "7",
          "deckName": "Promenade "
        },

      }
    ]
},
"1": {
  "id": "7198",
  "name": "Captain's Circle Desk",
  "category": {
    "id": "352",
    "name": "Other Services"
  },
  "deckLocation": [
    {
      "id": "7198",
      "deck": {
        "deckNo": "7",
        "deckName": "Promenade "
      },

    },
    {
      "id": "7198",
      "deck": {
        "deckNo": "7",
        "deckName": "Promenade "
      },

    }
   ]
 }
}

我想显示“0”,“1”数组中的所有名称。我可以列出一个特定的名称,但不是全部。第一个名称将显示我在下面的代码中写的内容。但我需要动态显示所有0,1,2,3等名称。

data[0].name

请帮帮我。 谢谢。

3 个答案:

答案 0 :(得分:4)

使用ng-repeat功能。

<div ng-repeat = "names in data">
<P>{{names.name}}</P>
</div>

答案 1 :(得分:1)

我们假设你有这样的服务: -

    var todoApp = angular.module("todoApp",[]);

    todoApp.factory('dbService', ['$q','$http',function ($q , $http) {  
    var service ={};
        service.getUrl = function (urlToGet) {
            var svc=this;

            var deferred = $q.defer();
            var responsePromise = $http.get(urlToGet);

            responsePromise.success(function (data, status, headers, config) { 
                deferred.resolve(data);  });

            responsePromise.error(function (data, status, headers, config) { 
                deferred.reject({ error: "Ajax Failed", errorInfo: data });});

            return (deferred.promise);
        }
        return service;
        }]);

并且您要加载名为&#39; /js/udata.json'的文件。以下是您在控制器中加载此文件的方法: -

todoApp.controller("ToDoCtrl", ['$scope','$timeout','dbService',function($scope, $timeout, dbService)
{
    $scope.todo={};

  $timeout(function(){
   dbService.getUrl('/js/udata.json').then(function(resp){
    $scope.todo=resp;
   });},1);
};

希望这有帮助!

答案 2 :(得分:0)

你有数据[0] .name对吗?

那么为什么不通过它来获取这些数组中的所有名称元素。

像...

for(i=1;i<data.length;i++)
{
console.log(data[i].name);
}