Tengo un json que se está creando a partir de un CSV que se ve así,

[["Year","Make","Model","Description","Price"],["1997","Ford","E350","ac, abs, moon","3000.00"],["1999","Chevy","Venture \"Extended Edition\"","","4900.00"],["1999","Chevy","Venture \"Extended Edition, Very Large\"","","5000.00"],["1996","Jeep","Grand Cherokee","MUST SELL!\nair, moon roof, loaded","4799.00"]] 

Necesito usar esto en la plantilla usando Handlebars.js, sé cuándo usar esto cuando el json era así

[{"data" : "data1"},{.....}] 

Pero no sabe cómo usar el manillar cuando el json se parece al que me dieron al principio, cuando probé el siguiente código,

        {{#each this}}
        <li>{{0}}</li>
        {{/each}}

Me sale el siguiente error en la consola

Uncaught Error: Parse error on line 3:
...}            <li>{{0}}</li>           
----------------------^
Expecting 'ID', 'DATA', got 'NUMBER' 

De todos modos para acceder a los datos json para la plantilla, ¿se trata del error en la plantilla o en el json? ¿Cómo puedo arreglarlo?

1
rksh 30 ago. 2014 a las 11:12

2 respuestas

La mejor respuesta

Debe envolverlo con corchetes:

<ul>
  {{#each this}}
    <li>{{[0]}}</li>
  {{/each}}
</ul>

Demostración: http://jsbin.com/teduxeduvoqi/1/edit


Una cita de los documentos:

Para hacer referencia a una propiedad que no es un identificador válido, puede usar la notación literal de segmento, [

1
Pavlo 30 ago. 2014 a las 07:27

Úselo así: {{this[0]}}.

0
eguneys 30 ago. 2014 a las 07:21