如何使用Handlebars从JSON数组的对象中提取指定value字段
如何用Handlebars从JSON数组中提取特定key的value值?
当然可以实现!你完全不用写那种会输出整个数组内容的复杂遍历,有更简洁的方式来提取value对应的值,分两种场景来看:
场景1:数组确定只有一个元素
从你给出的JSON来看,customfield_10297是只有一个元素的数组,这种情况下直接通过索引访问就能拿到目标值,根本不需要遍历:
Test Type: {{data.jira.customfield_10297.[0].value}}
这段代码会直接输出 Test Type: Manual,完美符合你的需求。
场景2:数组可能包含多个元素
如果后续这个数组可能有多个元素,你需要遍历但只输出每个元素的value,可以简化你的遍历逻辑,不用嵌套each去遍历每个元素的所有键:
Test Type: {{#each data.jira.customfield_10297}} {{this.value}}{{#unless @last}}, {{/unless}} {{/each}}
这里的{{this.value}}直接访问当前遍历元素的value属性,{{#unless @last}}, {{/unless}}是为了给多个值添加逗号分隔,让输出更整洁。
你之前的遍历代码会输出每个元素的所有键值对(比如<self>xxx</self>这类内容),是因为你嵌套了两层each去遍历每个元素的所有属性,而我们只需要直接访问value属性就好啦。
内容的提问来源于stack exchange,提问作者Ieva Kriščiūnaitė
相关产品推荐
相关产品推荐

