2014-11-05 3 views
-1

У меня есть следующий JSON:AngularJS отображения сложного объекта

{ 
   "_id": "543e95d78a1cec2a38ed53ec", 
   "result": { 
      "CAR009": [ 
         { 
            "name": "BMW" 
         }, 
         { 
            "name": "MERCEDES" 
         } 
      ], 
      "BUS007": [ 
         { 
            "name": "RENAULT" 
         } 
      ] 
   } 
} 

я не знаю заранее «CAR009» и «BUS007» только для примера.

Я хочу, чтобы отобразить в моем HTML:

CAR009: BMW, MERCEDES

BUS008: Renault

Контроллер:

$http.get('http://localhost:3000/categories/api) 
    .success(function (cars) { 
     var categoArray = []; 
     for (var key in cars.result) { 
      var car = cars.result[key]; 
      for (var idx in car) { 
      categoArray.push(car[idx].category_name); 
      } 
     } 

     $scope.categories = categoArray; 
    }) 
    .error(function (cars) { 
     console.log(tags); 
}); 

Тогда в моей HTML: (но это не actly что я хочу)

<div ng-repeat="categorie in categories"> 
     <li>{{categorie}} 
</div> 

хранить в массиве, но мне нужно хранить в Object?

Как я могу сделать это, чтобы облегчить это с помощью AngularJS?

Благодарим за помощь!

+2

в чем Ваш вопрос? – krs8785

+0

Мой вопрос: Как я могу отобразить в своем HTML CAR009: BMW, MERCEDES ; BUS008: RENAULT Я хочу, чтобы они были похожи на Object, чтобы манипулировать ими. – Jose

+0

Что вы получаете по категории (категории)? совпадает с каждым элементом в результате? –

ответ

3

Предполагая, что categories имеет такую ​​структуру:

{ 
     "CAR009": [ 
     { 
      "name": "BMW" 
     }, 
     { 
      "name": "MERCEDES" 
     } 
     ], 
     "BUS007": [ 
     { 
      "name": "RENAULT" 
     } 
     ] 
    } 

Вы хотите сделать это следующим образом:

<ul> 
    <li ng-repeat="(key, cars) in categories"> 
     {{key}}: <span ng-repeat="car in cars">{{car.name}}{{!$last?', ':''}}</span> 
    </li> 
</ul> 

Example

Кроме того, вы можете изменить эту часть вашего кода :

$http.get('http://localhost:3000/categories/api') 
    .success(function (cars) { 
     $scope.categories = cars.result; 
    }) 
    .error(function (cars) { 
     console.log(tags); 
}); 
+0

в категориях у меня не будет ключа, нет? – Jose

+0

@Jose Я не понимаю этот вопрос, не могли бы вы рассказать? – Josep

+0

Я хотел бы манипулировать как объект, чтобы использовать его для других вещей. – Jose

Смежные вопросы