如何从firstItems对象数组中提取id生成有效数组?
解决Handlebars提取对象数组id生成合法JSON数组的问题
问题分析
你原写法的核心问题是each循环会在最后一个id后多输出一个逗号,导致生成的JSON数组格式无效。
解决方案
方法1:利用@last变量控制逗号输出
通过Handlebars内置的@last变量判断当前是否为循环的最后一个元素,仅在非最后元素后添加逗号,避免多余的尾逗号:
"thumbnailItemIds": [{{#each @firstItems}}"{{id}}"{{#unless @last}},{{/unless}}{{/each}}]
方法2:使用数组提取+JSON序列化助手(推荐)
如果你的Handlebars环境支持pluck(提取数组对象指定字段)和json(序列化JSON)这类扩展助手,可以直接提取id数组并自动生成合法JSON:
"thumbnailItemIds": {{json (pluck @firstItems 'id')}}
这种方式无需手动拼接字符串,完全由助手处理格式,更不易出错。
内容的提问来源于stack exchange,提问作者petervd81
相关产品推荐
相关产品推荐

