JavaScript中如何在数组内编写动态JSON对象,解决模板字面量报错
报错原因
对象字面量中直接使用模板字面量作为键名不符合JS语法规范,需要使用计算属性名语法,将动态键名包裹在方括号[]中才能被正确解析。
正确实现代码
生成符合要求的JS对象
const targetArr = [ { [group1]: { Token1: token1, Token2: token2 }, [group2]: { Token1: token1, Token2: token2 } } ]
如果需要输出格式化的JSON字符串,追加调用JSON.stringify即可:
// 输出带2空格缩进的格式化JSON,和你预期的结构完全一致 console.log(JSON.stringify(targetArr, null, 2))
运行验证示例
你可以用以下测试代码确认效果:
// 模拟动态变量赋值 const group1 = "group1" const group2 = "group2" const token1 = "123443423" const token2 = "121414141" const targetArr = [ { [group1]: { Token1: token1, Token2: token2 }, [group2]: { Token1: token1, Token2: token2 } } ] console.log(JSON.stringify(targetArr, null, 2))
运行后输出结果和你要求的JSON结构完全匹配。
内容的提问来源于stack exchange,提问作者owlz
相关产品推荐
相关产品推荐

