2017-06-04 8 views
0

私は以下のようなJSONファイルを持っています。私の質問は給料とjobTitleへのアクセス方法です。私はデータ[i] .firstなどを使って自分のループ内のファーストネームとファーストネームにアクセスするのに問題はありませんが、私が給料に同じことをするとき、コンソールはそれが定義されていないことを教えてくれます。JSONデータへのアクセス

[ 
{ 
    "name":{ 
    "first":"Lola", 
    "last":"Ewing" 
    }, 
    "salary":"47586.03", 
    "jobTitle":"Database Analyst" 
}, 
{ 
    "name":{ 
    "first":"Durham", 
    "last":"Sharpe" 
    }, 
    "salary":"67658.3", 
    "jobTitle":"Database Analyst" 
}, 
{ 
    "name":{ 
    "first":"Hines", 
    "last":"Moore" 
    }, 
    "salary":"39317.83", 
    "jobTitle":"Web Developer" 
}, 
{ 
    "name":{ 
    "first":"Fitzgerald", 
    "last":"Rivers" 
    }, 
    "salary":"70657.89", 
    "jobTitle":"Software Developer" 
} 
] 

$("document").ready(function(){ 

    var url = "example.json"; 

    $.ajax({ 
     type: "GET", 
     dataType: 'json', 
     cache: false, 
     url: url, 
     success: function (data) { 

     $.each(data, function (i, data) { 
      for (i in data) { 

       $("#database-analyst-area .first").append(data[i].first); 
      } 
     }); 
     } 
    }); 
}); 
+1

あなたはデータ変数を何度も上書きしてしまい、涙が出ます。あなたの成功関数に変数データが​​ある場合、それぞれのコールバックは 'item'のような別の名前にする必要があります。 – Paul

+1

forループの外側に 'data [i] .salary'を入れます。 –

答えて

1

データ[i]は、ここであなたのオブジェクトのキーがあり、それらは:名前、給与、jobTitle、その給与がデータである[1]。成功後に次のループを行うことをお勧めします。

data.forEach(function(human) { 
    // and here is human.name.first 
    // human.salary 
} 
+0

説明と例のおかげで、ニキータはとても役に立ちました。 – JayP20

関連する問題