我可以看到JSON对象,但无法访问值

时间:2012-04-29 17:00:49

标签: jquery json

我使用以下代码获取JSON对象:

// Check that the token has been updated, then submit the form as required
$.when( $.getJSON(url + 'scripts/json.php'), button).then(function(json, button) {

}

如果我在控制台窗口中输出值,如下所示:

console.log(json);

我得到以下内容:

[Object { token="cdad8422e88787958729e21cce102cb0"}, "success", Object { readyState=4, responseText="{"token":"cdad8422e88787958729e21cce102cb0"}", status=200, more...}]

但是试图使用这个来获取'token'的值:

console.log(json.token);

我得到'未定义'

2 个答案:

答案 0 :(得分:4)

这是一个包含对象的数组。您可以通过json[0].token访问它。

答案 1 :(得分:0)

如果您使用jQuery的$.ajax(),请不要忘记指定jsonType:'json' TType为大写,而不是jsontype:'json'

示例:此脚本将获得未定义的JSON结果。

$.ajax({
  url:'server',
  datatype:'json',
  data:'your param',
  success:function(JSONResponse,status,xhr){

    //.....your code
  }   
})

如果在t中使用小写type,则不会定义JSON结果。因此USE dataType的大写TdataType:'json'