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

时间:2011-10-23 12:13:54

标签: 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>

我在第6行“eval......”收到以下错误。

  

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

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

我也无法添加

var key="samw-123";

为此我收到错误说

  

未捕获的ReferenceError:分配中的左侧无效

1 个答案:

答案 0 :(得分:5)

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

eval("jsonObj['" + key + "'] = 11");

实际上,甚至不需要eval

jsonObj[key] = 11;