AngularJS, manipuler des objets JSON [Résolu/Fermé]

Signaler
Messages postés
1281
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
-
Messages postés
1281
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
-
Bonsoir à tous, j'ai un fichier JSON (que je traite en JavaScript avec AngularJS) de cette architecture, en gros:

{
    "List": [
        {
            "id": 1,
            "produit": {
                "id": 1,
                "name": "test"
            },
            "Type": [
                {
                    "id": 1,
                    "name": "Type 1",
                    "meteojobId": "T1"
                }
            ]
}


Je souhaite accéder à un des objets contenu dans List.Type dans du html, j'arrive avec {{ List.Type }} à afficher l'ensemble des objets, mais je ne voudrais que l'objet "name", quelqu'un pourrait-il m'aider à trouver la bonne syntaxe? (ou alors des bons mots-clés pour une recherche sur Google?)

Merci de votre aide

1 réponse

Messages postés
1643
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
5 mai 2020
257
Hello,

C'est le "name" dans "produit" que tu veux ou celui dans "Type" ?

Comme précisé précédemment, je connais pas angular mais j'ai essayé un truc comme ça (ça doit être super moche pour quelqu'un qui connaitrait angular :( ):

test.html :

<!doctype html>
<html ng-app>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
    <script src="todo.js"></script>
  </head>
  <body>
    <div class="container">
        <div class="row">
            <div col-xs-2 col-xs-offset-1 ng-controller="testJson">
                <h4><small>Le nom du produit est : </small> "{{data.List[0].produit.name}}"</h4>
            </div>
        </div>
    </div>
   </body>
</html>


test.js :

function testJson($scope) {
    $scope.data = {
    "List": [
        {
            "id": 1,
            "produit": {
                "id": 1,
                "name": "test"
            },
            "Type": [
                {
                    "id": 1,
                    "name": "Type 1",
                    "meteojobId": "T1"
                }
            ]
        }]
    };
};


et ça me sort le "name" de "produit" ...
Ça me parait on ne peut plus simple. :p
Si ça peut t'aider ...

Y'a plus qu'à adapter à ton code. :-)

Edit : retiré la boucle (ng-repeat qui servait à rien) / précisé le nom des fichiers html et js, changé le nom de qqs variables et rajouté un peu de css :p (bootstrap) ...

You may stop me but you can't stop us all ;-)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1281
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
701
Merci, j'essayais de récupérer le "name" de "Type", j'ai été idiot sur ce coup là, (encore une fois). J'ai pas pensé à traiter Type comme un tableau.... ta réponse m'a remis sur le bon chemin^^.
A la fin, j'arrive a:
{{ List.Type[0].name }}

Merci de ton aide (encore une fois) et je suis désolé du dérangement...

A+
Messages postés
1643
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
5 mai 2020
257
oki, de rien ... ça m'aura permis de m'amuser un peu avec du json et angular.
Au début j'ai tâtonné en faisant du .length de mes datas pour voir si au moins j'avais des trucs ....
Messages postés
1281
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
701
Pareil, maintenant, on arrive à faire des trucs, plus difficile^^