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

标签 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......”处收到以下错误。

Uncaught SyntaxError: Unexpected token ILLEGAL

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

我也无法添加

var key="samw-123";

为此我收到错误消息

Uncaught ReferenceError: Invalid left-hand side in assignment

最佳答案

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

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

实际上,eval 甚至不是必需的:

jsonObj[key] = 11;

关于javascript - 如何添加带有特殊字符的字符串作为json键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866063/

相关文章:

c# - 使用外部实体文件在 C# 中处理 XML

utf-8 - 如何在 reStructuredText (reST) 中编写乘号?

javascript - Angular 带选择,获得值(value)

javascript - 使用 Javascript 发出 HTTP POST 身份验证基本请求

javascript - JSON:parseInt 不起作用

php - JSON、PHP、FLOT 和 jQUERY

javascript - 如何将 JSON 数据显示为 HTML?

javascript - 您可以设置按钮点击的时间间隔吗?

javascript - 参数值 '<'转换为 '&lt;'

sql-server - 使用什么数据类型来存储这些字符: '●▬ஜ۩卐۩ஜ▬●'