Arrays 把手-如何为模板导航JSON数据
我的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值,但似乎找不到正确的语法 我可以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
{{#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.