JSON解析,始终返回undefined

时间:2013-05-18 11:27:37

标签: javascript json parsing

我使用$.get得到的回复是:

{
   "data": [
      {
         "uid": 12345678,
         "online_presence": "offline"
      }
   ]
}

我也试过$.getJSON但没有运气。我的代码部分是(数据变量保存上面的响应):

var zzz=JSON.stringify(data)
var obj = jQuery.parseJSON(zzz);
alert(Object.keys(obj).length);

返回1.然而,Chrome调试器表示不存在obj[0].uidobj[1].uid这样的问题。为什么我不能访问uid或online_presence?

3 个答案:

答案 0 :(得分:1)

使用:

JSON.parse(data);

或者在请求中使用dataType选项; jQuery会为你转换它

$.get('yoururl',function(o) { alert(o.data[0].uid); },'json'});

答案 1 :(得分:0)

试试这个:

alert(obj.data[0].uid);

答案 2 :(得分:0)

您无法像数组一样访问对象的属性,因为这些键不是有序整数。

您必须明确使用属性键,例如

console.log(obj.data[0].uid);

如果您可以记录obj,那么您知道它存在。