【问题标题】:JSON parsing in javascript, the data is always undefined [duplicate]javascript中的JSON解析,数据始终未定义[重复]
【发布时间】:2015-05-30 22:46:06
【问题描述】:

我目前正在尝试在线解析一个随机的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);
        }
    });

【问题讨论】:

标签: javascript ajax json parsing


【解决方案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

  });
}

【讨论】:

  • 谢谢你,我猜我没有正确访问数据!
【解决方案2】:

您没有对结果集进行迭代。

这更短,更易读。

$.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 控制台,您将看到以下内容:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2012-04-10
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多