在javascript中进行JSON解析,数据总是未定义的

时间:2015-05-30 22:46:06

标签: javascript ajax json parsing

我目前正在尝试在线解析随机JSON文件,您可以尝试链接并亲自查看。无论我寻找什么,我总是在访问数据时得到“未定义”。我只想从json获得某种输出。例如,如何获取文件中的名称列表('nm')?无论我做什么,它总是让我不明确。

    $.ajax(
    {
        type: 'GET',
        url: 'http://mysafeinfo.com/api/data?list=englishmonarchs&format=json',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        success: function(r)
        {
            alert(r.example);
        }
    });

2 个答案:

答案 0 :(得分:1)

从该API获取的数据是一个像这样的对象数组。

[{
  nm: "Edward the Elder",
  cty: "GB",
  hse: "House of Wessex",
  yrs: "899-925"
}, {
  nm: "Athelstan",
  cty: "GB",
  hse: "House of Wessex",
  yrs: "925-940"
}]

迭代对象数组的方法之一是$.each

success: function(r)
{
  $.each(r, function(index, value){ // iterating over each object

       console.log(value.nm); // <---- accessing nm of each object

  });
}

答案 1 :(得分:0)

您没有迭代结果集。

这更短且可读。

$.getJSON("http://mysafeinfo.com/api/data?list=englishmonarchs&format=json", function (data) {

    $.each(data, function (index, value) {
        alert(index + ": " + value.nm);

    });
});

http://jsfiddle.net/5skony7y/2/

打开Chrome控制台,您会看到以下内容:

enter image description here