如何解析手柄中更改的json数据?

时间:2017-09-27 17:40:54

标签: javascript jquery json handlebars.js

Screenshot of the ouput

我想显示不同名称的json键。 下面是我希望显示为jan,feb,mar ...等的月份数。

我的尝试如下。

我的结果是1,2,3,4 ......而不是jan,feb,mar ......

我做错了什么? PS:使用handlebars.js

我的HTML代码:

{{#each this}}
   <th style="white-space: nowrap;">{{@key}}</th>
{{/each}}

我的JSON代码:

"PaymentProfile":{  
                     "2017":{  
                        "1":"C",
                        "2":"C",
                        "3":"C",
                        "4":"C",
                        "5":"C",
                        "6":"C",
                        "7":"C",
                        "8":" ",
                        "9":" ",
                        "10":" ",
                        "11":" ",
                        "12":" "
                     },

我的javascript:

var months=['Jan','Feb','Mar','Apr','May','June','Jul','Aug','Sep','Oct','Nov','Dec'];
var mortgagePath=data.TradeLine['Mortgage Accounts']['0'].PaymentProfile;
                    $.each(mortgagePath,function(k,v){
                        console.log("year is"+k)
                        $.each(v, function(k1,v1){
                           // k1= months[k1];
                           console.log("month is "+months[k1-1]);
                           console.log("status is "+v1)
                        })
                    });

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下代码吗?您必须使用monthname

注册一个帮助器以将计算属性显示为@key

在你的JS文件中添加

Handlebars.registerHelper('monthName', function(key) {
  return months[key-1]; 
//months is the array which contains the name of months
});

在您的模板中更改如下

{{#each this}}
   <th style="white-space: nowrap;">{{monthName @key}}</th>
{{/each}}

这是一个工作小提琴的链接

http://jsfiddle.net/az5skvfm/2/