Cómo acceder a este objeto json desde handlebarsjs

Cómo acceder a este objeto json desde 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" } ] } ] 

He intentado {{nombre}} para acceder al nombre, pero no funcionó, así que, ¿cómo accedo al atributo de nombre y al atributo de primer nombre nested en los contactos?

Gracias

Primero debe indexar la matriz para obtener el nombre. Algo como:

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

Asigne un nombre de variable javascript a su objeto 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" : [] }] 

Entonces puedes hacer jsongstring [0] .name

Puede usar un bucle for para recorrer el JSON e imprimir la información que necesita

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

Espero que esto ayude

Tienes suerte: tu pregunta se explica con bastante claridad en la página de documentación de Handlebars:

http://handlebarsjs.com/

Simplemente desplácese hasta la sección “Rutas de manillar” y verá que habla exactamente de lo que está buscando (“Las barras de control también admiten rutas anidadas, lo que hace posible buscar propiedades anidadas debajo del contexto actual …” )