0

我想从下面给定的json中提取tenantId值

{
  "ClientAccounts":{
   "@tenantId":"entpriseDemo",
   "clientAccount":[
    {
     "guid":"447a0bac-51e0-4f5f-b504-97dca5825530",
     "totalValueFormatted":"$1,100,000"
    }
   ]
  }
}

这是我用于调用 ajax 请求和成功函数代码的 javascript 函数

$.ajax({
      url: "$clientAccountsURL",
      cache: false,
      dataType: "json", // set to json or xml
      success: function(data){

        alert(data.ClientAccounts.tenantId);


    } 
});

当我在success函数中提醒tenantId的值时,它返回我未定义的值,尽管我检查了它在json数组中可用的firebug。

有没有其他方法可以检索tenantId 的值。

4

4 回答 4

2

使用方括号表示法

data.ClientAccounts['@tenantId']

这篇 mdn 文章

对象属性名称可以是任何有效的 JavaScript 字符串,也可以是可以转换为字符串的任何内容,包括空字符串。但是,任何不是有效 JavaScript 标识符的属性名称(例如,具有空格或连字符或以数字开头的属性名称)只能使用方括号表示法访问。

于 2013-09-04T10:04:47.800 回答
1

您应该能够像关联数组一样使用它来访问它:

data.ClientAccounts['@tenantId']
于 2013-09-04T10:05:03.940 回答
1

由于属性名称包含一个@,因此您必须使用关联数组语法访问该属性。

data.ClientAccounts["@tenantId"];

JsFiddle:http: //jsfiddle.net/VS9xe/

于 2013-09-04T10:05:46.610 回答
1

您可以使用对象表示法或关联数组表示法:

在您的情况下,使用关联数组表示法:

alert(data.ClientAccounts["@tenantId"]);

示例:http: //jsfiddle.net/2kdWQ/1/

于 2013-09-04T10:07:46.580 回答