2012-07-20 4 views
0

Comment accéder à cet objet JSON de handlebarsjsComment accéder à cet objet JSON de handlebarsjs

[ { 
    "id" : 9, 
    "name" : "Name1", 
    "address" : "address1", 
    "city" : "city1", 
    "state" : "KS", 
    "zip" : "11111", 
    "country" : "USA", 
    "fax" : "111111", 
    "phone" : "1111111", 
    "website" : "", 
    "account" : "11111", 
    "contacts" : [] 
}, { 
    "id" : 12, 
    "name" : "Name2", 
    "address" : "address2", 
    "city" : "city2", 
    "state" : "NJ", 
    "zip" : "11111", 
    "country" : "USA", 
    "fax" : "", 
    "phone" : "1111", 
    "website" : "", 
    "account" : "11111", 
    "contacts" : [ { 
     "firstName" : "name", 
     "lastName" : "lastname", 
     "title" : "rep", 
     "phone" : "3333", 
     "email" : "33333" 
    } ] 
} ] 

J'ai essayé {{name}} pour accéder au nom mais cela ne fonctionne pas, alors comment puis-je accéder nom attribut, et l'attribut firstName imbriqué sous contacts?

Merci

Répondre

0

Vous devez index dans le tableau premier afin d'obtenir le nom. Quelque chose comme:

{{listObj[0].name}} 

{{listObj[0].contacts.firstName}} 
+0

dois-je garder une trace de l'indice, je pensais que tout ce que je dois faire est de mettre le modèle \t \t \t \t {{name}} \t \t \t \t {{téléphone}} \t \t \t \t {{fax}} \t \t \t – skystar7

+0

Je suis cette erreur: Erreur: Parse error sur la ligne 9: ...> \t \t \t \t \t \t \t {{ID [0] .name}} \t \t ---------------------^ Attendant 'ID', a obtenu 'indéfini' http: // localhost: 8080/LocalApp/scripts/handlebars-1.0. 0.beta.6.js Ligne 194 – skystar7

+0

Vous ne pouvez pas utiliser la notation [] dans les modèles Handlebars. – frontendbeauty

0

Affectez un nom de variable javascript à votre objet JSON.

var jsonstring = [ { 
     "id" : 9, 
     "name" : "Name1", 
     "address" : "address1", 
     "city" : "city1", 
     "state" : "KS", 
     "zip" : "11111", 
     "country" : "USA", 
     "fax" : "111111", 
     "phone" : "1111111", 
     "website" : "", 
     "account" : "11111", 
     "contacts" : [] 
    }] 

Ensuite, vous pouvez faire jsongstring [0] .name

Vous pouvez utiliser une boucle en boucle sur la JSON et imprimer les informations dont vous avez besoin

for (var x = 0; x < jsonString.length; x++){ 
alert(jsonString[x].name); 
alert(jsonString[x].contacts.firstName); 
} 

Hope this aide

0

Vous avez de la chance: votre question est expliquée assez clairement sur la page documentation de Handlebars:

http://handlebarsjs.com/

Il suffit de faire défiler vers le bas à la section « Guidons chemins », et vous verrez qu'il parle exactement ce que vous cherchez ("Guidons prend également en charge les chemins imbriqués, permettant de rechercher des propriétés imbriquées ci-dessous le contexte actuel ... ")

Questions connexes