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);


    } 
});

成功関数でテナント ID の値を警告しているとき、未定義の値が返されますが、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

オブジェクト表記または連想配列表記のいずれかを使用できます。

あなたの場合、連想配列表記を使用します。

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

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

于 2013-09-04T10:07:46.580 に答える
1

プロパティ名には が含まれて@いるため、連想配列構文を使用してプロパティにアクセスする必要があります。

data.ClientAccounts["@tenantId"];

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

于 2013-09-04T10:05:46.610 に答える