2014-03-06 155 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