[英]parsing JSON using javascript gives me undefined while getting the value from the json response
我正在使用javascript解析json字符串
{
"head": {
"example": "0"
},
"res": {
"@test": "121",
"@found": "5"
}
}
我从远程站点获取http响应,并且我使用javascript提取@found值。我使用了以下代码。
var json=eval('('+request.responseText+')');
alert(json.head.res.@found);
给我一个空值,你能告诉我如何解析吗?
alert(json.head.res['@found']);
@无效,不能以变量名开头,因此必须使用方括号表示法。 或将变量名称更改为有效。
基本上,以正则表达式形式:[a-zA-Z _ $] [0-9a-zA-Z _ $] *。 换句话说,第一个字符可以是字母或_或$,其他字符可以是字母或_或$或数字。
属性“ res”不在“ head”属性内。
试试这个: json.res['@found']
alert(json.res['@found']);
res
不在头脑里。
尝试json.res['@found']
。 无效的JavaScript对象属性,不能使用点符号来访问。 另外,正如其他人所指出的,@ found不在头脑中。
解决这3件事:
@
不是有效的变量名字符。 您应该考虑使用[]
语法而不是“点”语法。 res
是不是在head
。 eval
。 我强烈建议您使用JSON.parse
而不是eval
var json = JSON.parse(request.responseText); alert(json.res['@found']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.