2014-03-06 181 views
0

我已經使用jQuery的getJSON()從服務器獲取數據。迴應對我來說很好。這是它的外觀jQuery JSON解析:undefined對象

{"user" :[{"username":"nupac"},{"username":"nupac2"}]} 

當我在我的警告框做了一個alert(Objects.keys(jsonResponse));我得到user這是很好的,但是當我嘗試jsonResponse['user']訪問數據,我得到一個undefined

爲什麼我得到一個未定義的?我想我應該得到一組對象。

編輯:

這裏是真實的URL代碼,

function getLMSLinks(email){ 
     $.getJSON("url?student=" + email, function(d) { 
      alert(Object.keys(d)); 
      alert(d['user']); 

     }).fail(function(d, textStatus, error) { 
      //alert("fail " + textStatus + " error " + error); 
      console.error("getJSON failed, status: " + textStatus + ", error: "+error) 
     }); 
     } 
+0

請提供你的代碼的更多方面。你如何/何時打電話? –

+0

我加了代碼,請看看。加上隨時查看網址和迴應 – nupac

+0

本網站不支持jsonp。那麼你如何獲得alert(Object.keys(d));'顯示?它真的是你使用的代碼嗎? –

回答

0

您是否在尋找這個

var jsonResponse = { "user": [{ "username": "nupac" }, { "username": "nupac2"}] } 
    alert(jsonResponse.user[0].username); 

如果它是一個字符串,首先你需要使它作爲對象使用

jsonResponse =jQuery.parseJSON(jsonResponse); 

那麼你可以使用像

alert(jsonResponse.user[0].username); 

編輯

$.getJSON("http://prinyautils.appspot.com/getLMSUrl?student=" + email, function(d) { 
     alert(Object.keys(d)); 
     alert(d.user[0].username); 

    }).fail(function(d, textStatus, error) { 
     //alert("fail " + textStatus + " error " + error); 
     console.error("getJSON failed, status: " + textStatus + ", error: "+error) 
    }); 
+0

我得到一個'無法獲取對象在索引0未定義'。在這方面的一些事情 – nupac

+0

@nupac請檢查編輯的答案 –

+0

實際的響應有'lms'而不是'用戶名',所以我改變了這一點,我仍然沒有定義。隨意檢查來自url的響應 – nupac