在我的对象文字中,我想创建不是有效标识符的键,以便使用JavaScript生成类似于图片中的JSON文件。
是否可以像下面那样创建对象?
var objet = {
targets: [
new Stage(),
{
isStage: false,
name: "Sprite1",
blocks: {
o7d.+f~]6/Bs|=|c/F(=: "Hello"
}
}
]
};

这就是JSON文件的样子:
答案 0 :(得分:0)
您可以使用ES6功能objet litteral动态键:
const illegalKey = 'o7d.+f~]6/Bs|=|c/F(=';
...
blocks: {
[illegalKey]: "Hello"
}
或者只是:
blocks: {
'o7d.+f~]6/Bs|=|c/F(=': "Hello"
}
答案 1 :(得分:0)
是的,你可以:
const data = {
blocks: {
"o7d.+f~]6/Bs|=|c/F(=": "Hello"
}
}
console.log(data)

但是请注意你究竟在做什么,因为你用这个键命名会失去可读性。
答案 2 :(得分:0)
为了理解目的,我选择了一个对象的子集。
您可以尝试以下
var blocks = {
"o7d.+f~]6/Bs|=|c/F(=": "Hello" // surround key with quotes
};
console.log(blocks["o7d.+f~]6/Bs|=|c/F(="]); // use bracket notation to fetch