iterate through JSON array with mustache

Liang picture Liang · Jun 24, 2013 · Viewed 30.9k times · Source

I am new to Mustache, please bear with me :)

I have an array in my JSON

"prop":{"brands":["nike","adidas","puma"]}

if I have the template like this

{{#prop}}
 <b>{{brands}}</b>
{{prop}}

and I want to get something like:

<b>nike</b>
<b>adidas</b>
<b>puma</b>

I understand the elements in the array are not hash key-value pairs, however I am wondering if there is anyway in mustache that I can iterate through the elements.

Thanks!

Answer

peshkira picture peshkira · Jun 24, 2013

Here is a working fiddle: http://jsfiddle.net/Qa4UX/

Basically, you need to iterate over the brands array. Since your array is raw and does not have objects inside you have to reference each string like so:

{{#props}}
  <ul>
  {{#brands}}
    <li>
    {{#.}}
        <b>{{.}}</b>
    {{/.}}
    </li>
  {{/brands}}
  </ul>
{{/props}}

You can also find many more examples over here: https://github.com/janl/mustache.js#mustachejs---logic-less-mustache-templates-with-javascript