访问具有空格的 JSON 对象键 [重复]
Posted
技术标签:
【中文标题】访问具有空格的 JSON 对象键 [重复]【英文标题】:Accessing JSON object keys having spaces [duplicate] 【发布时间】:2012-05-05 21:12:29 【问题描述】:我有以下 json 对象:
"id": "109",
"No. of interfaces": "4"
以下几行工作正常:
alert(obj.id);
alert(obj["id"]);
但如果键有空格,那么我无法访问它们的值,例如
alert(obj."No. of interfaces"); //Syntax error
如何访问键名包含空格的值?有没有可能?
【问题讨论】:
这个问题是一个错误,它适用于括号 请注意There's no such thing as a "JSON Object"。你所拥有的只是一个普通的对象。 【参考方案1】:这样做的方法是通过括号表示法。
var test =
"id": "109",
"No. of interfaces": "4"
alert(test["No. of interfaces"]);
更多信息请阅读此处:
https://developer.mozilla.org/en-US/docs/Web/javascript/Guide/Working_with_Objects【讨论】:
感谢您参考文档。令人惊讶的是,有多少答案缺少这个重要的细节。 问答有什么区别? 答案使用括号表示法test['No. of interfaces']
,而不是点表示法test."No. of interfaces"
。【参考方案2】:
Pardeep Jain 的答案对于静态数据可能很有用,但是如果我们在 JSON 中有一个数组呢?
比如我们有i个值,得到id字段的值
alert(obj[i].id); //works!
但是如果我们需要带空格的键呢?
在这种情况下,以下构造会有所帮助([] 块之间没有点):
alert(obj[i]["No. of interfaces"]); //works too!
【讨论】:
以上是关于访问具有空格的 JSON 对象键 [重复]的主要内容,如果未能解决你的问题,请参考以下文章