如何使用 fetch 在 JavaScript 中调用一个更复杂的数组 API(并显示它)?

How to call an API that is a more complex array, in JavaScript using fetch (and display it)?

我正在尝试了解有关 API 的更多信息并正确调用它们。我一直在使用fetch方法。我的代码,其中包括我正在引用的 API:

  fetch('https://datausa.io/api/data?drilldowns=Nation&measures=Population')
            .then(function (response) {
                return response.json();
            })
            .then(function (data) {
                appendData(data);
            })
            .catch(function (err) {
                console.log('error: ' + err);
            });
        function appendData(data) {
            var mainContainer = document.getElementById("myData");
                var div = document.createElement("div");
                div.innerHTML = 'Name: ' + data[0].Population;
                mainContainer.appendChild(div);
           // }
        }
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JSON Test</title>
</head>
<body>
    <div id="myData"></div>
</body>
</html>

我正在尝试调用 2019 年的“人口”并显示它。这对于只有一组大括号且没有数组的基本 API 很容易 - 但对于这个,我认为我将我的数组和对象混淆并且没有正确编码,有什么建议吗?

这个 API returns 一个带有 "data" 属性 的对象,因此您可以使用 "data" 属性 来显示这样的人口。

fetch('https://datausa.io/api/data?drilldowns=Nation&measures=Population')
  .then(function (response) {
    return response.json();
  })
  .then(function (data) {
    const responseData = data.data;
    appendData(responseData);
  })
  .catch(function (err) {
    console.log('error: ' + err);
  });

function appendData(data) {
  var mainContainer = document.getElementById('myData');
  var div = document.createElement('div');
  div.innerHTML = 'Name: ' + data[0].Population;
  mainContainer.appendChild(div);
  
}