访问JSON对象的问题?

时间:2012-09-07 09:32:57

标签: javascript jquery json

在访问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 json parsing

还尝试使用

中给出的Jquery教程

Jquery JSON

如果键是一个String,它的工作正常,但如果它是一个数字,则会得到上述错误......

4 个答案:

答案 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)

尝试使用此网站:

http://json.parser.online.fr/