¿Cómo mostrar la clave y el valor del objeto json usando la plantilla del manillar?

He empezado a aprender handlebar.js. Estoy luchando para mostrar los datos de json.

Mi json se parece a esto:

var data={ "record1": [ { "first": [ { "name":"john", "city":"newyork" }, { "name":"britto", "city":"bangalore" } ] }, {"second": [ { "name":"franklin", "city":"newyork" }, { "name":"leo", "city":"bangalore" } ] } ] }; 

aquí este json viene de la respuesta del servidor, así que no conozco ninguna clave ni valor. Tengo que mostrar la clave y el valor dinámicamente mediante el uso del manillar … He intentado con eachKey pero no tengo una solución para eso. ¿Alguien puede ayudarme?

Puede representar las claves / valores de una lista en una plantilla de manillares como esta:

 {{#each object}} {{@key}}: {{this}} {{/each}} 

Primero, gracias, tobi, esto me llevó a lo que necesitaba para obtener la llave.

En caso de que no quede claro para el OP, “esto” se refiere al objeto actual de esa iteración.

Entonces, en los datos de su caso, el objeto tiene la matriz registro1 con 2 objetos que son matrices de objetos: primero y segundo.

Usando cada uno:

 {{#each record1}} {{@key}}: {{this}} {{/each}} 

le daría: primero: (objeto, matriz) segundo: (objeto, matriz)

Estarás haciendo un bucle sobre el objeto (datos). En esto, si quisieras cavar, necesitarías un contador para llegar a cualquier parte. Recomendaría usar un ayudante de bloque de manillares para llegar allí.

Aquí está la documentación: http://handlebarsjs.com/block_helpers.html

Para objetos:

 {{#each myObject}} Key: {{@key}} Value = {{this}} //renders object like {key: value} {{/each}} 

Tenga en cuenta que solo se enumerarán las propiedades que pasen la prueba hasOwnProperty .


Para matrices:

 {{#each myArray}} Index: {{@index}} Value = {{this}} {{/each}}