Handlebars -如何为模板导航JSON数据



我有JSON数据,看起来像:

{"审查":{"数":"1","摘要":[{"Q1":"9.50","第二季":"9.50","第三季":"9.00","第四季度":"8.75",Q5:"7.63","Q6":"8.88","玩家":"9.38","游戏":"9.75","九方":"9.38",Q10:"9.00","团队":"9.75","12":"9.75","问题":"9.75","Q14":"8.13","最喜欢":"9.00","杆子有着":"8.88","篮":"8.00","时候":"9.38",问题19:"9.88","Q20":"10.00","对方篮里":"10.00","如":"7.00","Q23处":"9.75","抓起":"9.25","Q25":"8.63","Q26":"9.00","问":"6.50","Q28":"9.50","Q29":"9.63","Q30":"9.75","问":"9.38","问":"8.63","Q33":"9.50","Q34":"7.38","Q35":"6.88","Q36":"7.38","地区":"9.88","Q38":"9.50","Q39":"7.75","Q40":"8.25","Q41":"9.75","Q42":"9.75","Q43":"9.63","Q44":"9.38","Q45":"9.88","Q46":"9.38","Q47":"10.00","Q48":"9.88","Q49":"10.00","Q50":"9.88","Q51":"9.75","Q52":"9.38"}]}}

我试图创建一个把手模板,允许我迭代一个特定的div块。我试图列出"摘要"部分的@index值,但似乎找不到正确的语法来获取它们。

我可以得到

{{#each reviews.summary}}
{{/each }} 

我尝试在每个语句中使用{{#key}},但我得到0 -这是"summary"中第一项的数组键。我如何在数组中输出键值列表?基本上,Q1, Q2,等等

edit:

这适用于第一个属性:

{{#each review.summary}}
    {{Q1}}
{{/each }}

编辑:

车把模板:

{{#each qdata}}
    {{this}}
{{/each }}

js:

// 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.

对象属性:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

最新更新