通过javascript访问JSON

时间:2014-05-07 10:12:23

标签: javascript jquery json

我是json的新手,现在和它一起战斗。 :)我收到ajax调用的响应,我想从json响应中获取所有id值。我不确定我做错了什么,我已经尝试了大部分解决方案,但没有一个给我一个肯定的答案。

这是我的代码:

$.ajax({
    url: 'Actions.php?action=update',
    type: 'post',
    data: '&id='+$id,
}).success(function(data) {
    var jsondata = JSON.parse(data);

    $.each(jsondata, function(i, item) {
       console.log(item.Records.id);
    });           
});

我得到的错误就是这个:

  

TypeError:item.Records未定义

这是我的JSON回复:

{"Result":"OK","Records":
[{"0":"111","id":"111","1":"20","free":"20"},
{"0":"127","id":"127","1":"20","free":"20"},
{"0":"133","id":"133","1":"20","free":"20"},
{"0":"134","id":"134","1":"20","free":"20"},
{"0":"135","id":"135","1":"20","free":"20"},
{"0":"326","id":"326","1":"20","free":"20"}]}

如何访问所有ID和免费值?或者我做错了什么?

3 个答案:

答案 0 :(得分:3)

jsondata.Records是包含更多json对象的数组,

尝试,

$.each(jsondata.Records, function(i, item) {
   console.log(item.id);
}); 

答案 1 :(得分:3)

您需要迭代jsondata.Records

$.each(jsondata.Records, function (i, item) {
    console.log(item.id);
});

Example fiddle

答案 2 :(得分:0)

$.ajax({
url: 'Actions.php?action=update',
type: 'post',
data: '&id='+$id,
dataType:'json'
 }).success(function(data) {

$.each(data.Record, function(i, item) {
   console.log(item.id);
});           

});

加上使用数据输入你的ajax设置。