2016-06-15 18 views
1

JSONレスポンスから逆シリアル化されたオブジェクトからデータを取得しようとしています。以下の私のコードを確認してください。 AJAXは正常に動作していますが、キーからデータを呼び出す方法はわかりません。助けてください。

{ 
    "data": { 
     "show_page": false, 
     "io": true, 
     "userslist": [{ 
      "Captain Hook": { 
       "user_logo": "xyxImage.jpg", 
       "partner": "Jan 2013", 
       "usage": 123000, 
       "wise": 73000, 
       "server": 50000, 
       "status": "bronze", 
       "year": 2016, 
       "sum": 300000, 
       "order": 1 
      } 
     }] 
    } 
} 
$.ajax({ 
    url: 'js/data.json', 
    type: 'GET', 
    dataType: 'json', 
    success : function(users, status){ 
     console.log(users.data.userslist[0]); // Want to print "Captain Hook" 
     console.log(users.data.userslist[0].user_logo); // Want to print "logo" 
     console.log(users.data.userslist[0].partner); // Want to print "partner" 
    } 
} 

答えて

1

正しいコードがusers.data.userslist[index]だろう、あなたのデータ構造を考えます。オブジェクトのキーを取得するには、Object.keys()を使用し、それを使用して他の必要なプロパティを取得する必要があります。これを試してみてください:

success : function(users, status) { 
    var user = users.data.userslist[0]; 
    var key = Object.keys(user)[0]; 
    console.log(key); // = "Captain Hook" 
    console.log(user[key].user_logo); // = "xyxImage.jpg" 
    console.log(user[key].partner); // = "Jan 2013" 
} 

Example fiddle

関連する問題