Arrays 把手-如何为模板导航JSON数据

Arrays 把手-如何为模板导航JSON数据,arrays,json,handlebars.js,Arrays,Json,Handlebars.js,我的JSON数据如下所示: { 审查:{ 计数:1, 总结:[ { Q1:9.50, Q2:9.50, 问题3:9.00, 第4季度:8.75, 问题5:7.63, 问题6:8.88, 问题7:9.38, 问题8:9.75, 问题9:9.38, Q10:9.00, 问题11:9.75, 问题12:9.75, 问题13:9.75, 问题14:8.13, 问题15:9.00, 问题16:8.88, Q17:8.00, 问题18:9.38, 问题19:9.88, 问题20:10.00, 问题21:10

我的JSON数据如下所示:

{ 审查:{ 计数:1, 总结:[ { Q1:9.50, Q2:9.50, 问题3:9.00, 第4季度:8.75, 问题5:7.63, 问题6:8.88, 问题7:9.38, 问题8:9.75, 问题9:9.38, Q10:9.00, 问题11:9.75, 问题12:9.75, 问题13:9.75, 问题14:8.13, 问题15:9.00, 问题16:8.88, Q17:8.00, 问题18:9.38, 问题19:9.88, 问题20:10.00, 问题21:10.00, 问题22:7.00, 问题23:9.75, 问题24:9.25, 问题25:8.63, 问题26:9.00, 问题27:6.50, 问题28:9.50, 问题29:9.63, 问题30:9.75, 问题31:9.38, 问题32:8.63, 问题33:9.50, 问题34:7.38, 问题35:6.88, 问题36:7.38, 问题37:9.88, 问题38:9.50, 问题39:7.75, 问题40:8.25, 问题41:9.75, 问题42:9.75, 问题43:9.63, 问题44:9.38, 问题45:9.88, 问题46:9.38, 问题47:10.00, 问题48:9.88, 问题49:10.00, 问题50:9.88, 问题51:9.75, 问题52:9.38 } ] } }

我试图创建一个手柄模板,允许我迭代某个div块。我试图为summary部分列出@index值,但似乎找不到正确的语法

我可以

{{#each reviews.summary}}

{{/each }} 
我尝试在每个station中使用{key},但是得到了0,这是摘要中第一个项的数组键。如何输出该数组中的键值列表?基本上,Q1、Q2……等等。

编辑:

这适用于第一个属性:

{{#each review.summary}}
    {{Q1}}
{{/each }}
编辑:

车把模板:

{{#each qdata}}
    {{this}}
{{/each }}
js:


对象属性:

我只是在玩这个,意识到数据真的很难处理,我现在看到了问题所在。summary是一个数组,但只有一个巨大的对象!{{each}}似乎合理,但只有一件事可以循环;你需要52个属性。模板在脚本中,所以我认为通过道具进行循环可能有效?你看到下面的答案了吗?嗨,wazz,是的,我看到了答案-我只是没有机会尝试实现你的建议。我使用了获取对象属性的简单版本。您可能需要使用hasOwnProperty版本。
// new function:
function getQData(data) {
    var arQData = [];
    var obj = data.review.summary[0]; // here's the data we need.

    for (var prop in obj) {
        //alert("obj." + prop + " = " + obj[prop]);
        arQData.push(obj[prop]);
    }
    return arQData;
}

// create a new object for the filtered data. this seemed
// necessary (?) so i could put 'qdata' in the html template.
// call (new) function that does the filtering. 
// dataIn argument is the JSON data.
var d = { qdata: getQData(dataIn) };

// handlebars stuff.
var context = d;
var html = template(context);
$("#results").html(html); // wherever your results go.