如何添加带有特殊字符的字符串作为json键?

Ash*_*wal 0 javascript json special-characters

我想在JSON中添加带有特殊字符的字符串作为KEY.例如" Sam @ 123 "
这是代码,我正在尝试.

<script type="text/javascript">

var jsonObj={"sam":1,"rudolph":1,"js":1," ":12};
var key="samw@123";
alert("Add it.")
// Adding the key with Special Character in JSON
eval("jsonObj."+key+"=11")
alert("Added successfully.")

for(var i=0; i< Object.keys(jsonObj).length; i++){
alert("KEY#"+Object.keys(jsonObj)[i]);
}

</script>
Run Code Online (Sandbox Code Playgroud)

我在第6行" eval......" 收到错误.

未捕获的SyntaxError:意外的标记ILLEGAL

还有其他方法可以在Json中添加特殊字符作为KEY吗?

我也无法添加

var key="samw-123";
Run Code Online (Sandbox Code Playgroud)

为此,我得到错误说

未捕获的ReferenceError:赋值中的左侧无效

Sha*_*ard 5

应该使用这样的语法正常工作:

eval("jsonObj['" + key + "'] = 11");
Run Code Online (Sandbox Code Playgroud)

实际上,eval甚至不需要:

jsonObj[key] = 11;
Run Code Online (Sandbox Code Playgroud)