我想从下面给出的json
中提取tenantId值{
"ClientAccounts":{
"@tenantId":"entpriseDemo",
"clientAccount":[
{
"guid":"447a0bac-51e0-4f5f-b504-97dca5825530",
"totalValueFormatted":"$1,100,000"
}
]
}
}
这是我的javascript函数,用于调用ajax请求和成功函数代码
$.ajax({
url: "$clientAccountsURL",
cache: false,
dataType: "json", // set to json or xml
success: function(data){
alert(data.ClientAccounts.tenantId);
}
});
当我在成功函数中警告tenantId的值时,它会返回未定义的值,虽然我检查了它在json数组中可用的firebug。
还有其他方法可以检索tenantId的值。
答案 0 :(得分:2)
使用方括号表示法
data.ClientAccounts['@tenantId']
对象属性名称可以是任何有效的JavaScript字符串,也可以是可以转换为字符串的任何内容,包括空字符串。但是,任何不是有效JavaScript标识符的属性名称(例如,具有空格或连字符的属性名称,或以数字开头的属性名称)只能使用方括号表示法访问。
答案 1 :(得分:1)
您应该能够像关联数组一样使用它来访问它:
data.ClientAccounts['@tenantId']
答案 2 :(得分:1)
由于属性名称包含@
,因此您必须使用关联数组语法访问该属性。
data.ClientAccounts["@tenantId"];
JsFiddle: http://jsfiddle.net/VS9xe/
答案 3 :(得分:1)
您可以使用对象表示法或关联数组表示法:
在您的情况下,使用关联数组表示法:
alert(data.ClientAccounts["@tenantId"]);