L'accès imbriquée JSON avec AngularJS

Je suis en train de faire et mobile webapp avec angular.js, hammer.js et la couche de finition.

Je vais avoir quelques problèmes sur l'affichage de données à partir d'un fichier Json comme celui-ci:

{
"version": "1",
"artists": {
    "artist1": {
        "name": "artist1name",
        "jpeg": "../img/artist/artist1.jpg",
        "albums": {
            "album1": {
                "type": "cd",
                "title": "titlealbum1",
                "subtitle": "subtitlealbum1",
                "jpeg": "../img/album1.jpg",
                "price": "12.00",
                "anystring1": "anystring1album1",
                "anystring2": "anystring2album1"
            },
            "album2": [{
                "type": "cd",
                "title": "titlealbum2",
                "subtitle": "subtitlealbum2",
                "jpeg": "../img/album2.jpg",
                "price": "12.00",
                "anystring1": "anystring1album2",
                "anystring2": "anystring2album2"
            }],
            "album3": [{
                "type": "cd",
                "title": "titlealbum3",
                "subtitle": "subtitlealbum3",
                "jpeg": "../img/album3.jpg",
                "price": "13.00",
                "anystring1": "anystring1album3",
                "anystring2": "anystring2album3"
            }]
        }
    },
    "artist2": {
        "name": "artist2name",
        "jpeg": "../img/artist/artist2.jpg",

Mon fichier js est comme ceci:

angular.module('list', [])
function ListCtrl ($scope, $http) {
$http({method: 'GET', url: 'json/json_price_1.json'}).success(function(data)
{
$scope.artists = data.artists; //response data 
$scope.albums = data.artists.albums; /this is where im getting trouble
});        
};

Mon fichier HTML est comme ceci:

<body ng-app="list">

<h3>Titulos</h3>

<div ng-controller="ListCtrl">
<ul ng-repeat="artist in artists">
        <li >{{artist.name}}</li>

    </ul>
</div>

<div ng-controller="ListCtrl">
<ul ng-repeat="album in albums">
        <li >{{album.title}}</li>  //not working here. 

    </ul>
</div>

Je veux afficher tous les albums et si mon utilisateur de sélectionner un artiste en particulier, je veux filtrer ces albums.
La question ici est de savoir comment je sélectionne sur ce imbriquée json. BTW, l'artiste.le nom s'affiche correctement.

Deuxième question est, comment vais-je filtrer ces artistes avec un champ de texte.

  • où est le json généré? A incohérent des modèles dans des albums. Le premier album n'a pas de tableau en elle, deux autres. Aurait pour rediriger les données avant de les transmettre à angulaires de cette façon
  • J'ai généré le taper. Mais un script php va générer plus tard. Chaque fois que j'utilise JsonLint pour valider mon Json, donc ignorer cette erros s'il vous plaît. Merci!
  • bien structure json est loin d'être idéale. Ce n'est pas valide...c'est que devraient utiliser les tableaux d'objets...va rendre beaucoup plus facile la configuration angulaire
InformationsquelleAutor scarface13 | 2013-11-06