在访问JSON对象时遇到问题: 我收到的JSON对象是:
{"71":"Heart XXX","76":"No Heart YYYY"}
我试图分别获得71和72的值并使用它......
但是我得到一些编译时问题: 令牌“.71”上的语法错误,删除此令牌
代码:
var map=$("#jsonText").val();
alert(map);
var obj=jQuery.parseJSON(map);
alert("JSON ::"+obj.71);
如果要打印obj,我可以查看[Object Object]
任何人都可以帮我找到我做的错误..我知道上面的问题是在 SO 的许多主题中提出来的。下面是我发现的几个线程,但是当我尝试实现它时失败了。
还尝试使用
中给出的Jquery教程如果键是一个String,它的工作正常,但如果它是一个数字,则会得到上述错误......
答案 0 :(得分:4)
试试这个:
alert("JSON ::" + obj[71]);
“71”不是有效的属性标识符:标识符应以字母,下划线或美元符号开头。您可以使用方括号来避免此问题。
注意:放在方括号之间的所有内容都会转换为字符串。甚至函数,DOM元素或正则表达式:它们都是用toString
方法或超类“toString
转换的。
所以71
转换为"71"
。如果你想要更多的性能,你可以直接使用后者。如果您不需要它,可以只用71
剪切一些按键。
答案 1 :(得分:4)
改为使用
alert("JSON ::"+obj["71"]);
答案 2 :(得分:0)
根据规则或javascript
identifier
不应以数字开头,如果它以数字开头,或者包含空格和其他特殊字符,那么您应该使用[]
运营商而不是.
运营商
因此obj.71
无效,但obj["71"]
是
答案 3 :(得分:0)
尝试使用此网站: