首页 > 解决方案 > 访问深层嵌套的 API JSON 对象 (React JS)

问题描述

我正在尝试使用 Openweather API 创建一个天气应用程序。我能够成功检索 JSON 对象,但是在迭代对象时遇到了问题,我想访问特定日期和时间的天气详细信息,但我终生无法理解这个概念。有时我能够访问 JSON 对象的名称,但是当我尝试从特定日期和时间访问特定天气详细信息时,我不断遇到错误。有些信息嵌套得太深,我不确定如何检索这些信息

    fetch(`https://api.openweathermap.org/data/2.5/forecast?zip=${zip}&units=imperial&appid=5672e526c1cbc8d71aed230e5e151426`)
      .then(response => response.json())
      .then(json => {
        console.log(json.list);
      });
  }, [apiSearch]);

如果我只是尝试在 json.list 的末尾添加一个索引:

        console.log(json.list[1]);

我有时会遇到错误,例如无法将未定义或 null 转换为对象或类似的东西,我想知道访问下面的对象数组及其所有信息的最佳方法,谢谢!

由 json.list 调用的 Openweather api 嵌套 JSON 对象

我尝试了多种方法,包括 Object.keys、映射等,但我总是遇到对象为空错误或类似的问题。我想遍历 40 个数组并假设访问温度,每次尝试都导致我失败。任何帮助将不胜感激,谢谢!

标签: jsonreactjs

解决方案


希望这会帮助你。

fetch(`https://api.openweathermap.org/data/2.5/forecast?zip=99501&units=imperial&appid=5672e526c1cbc8d71aed230e5e151426`)
      .then(response => response.json())
      .then(json => {
        const forcasetList = json.list;
        forcasetList.forEach(f => {
          console.log(f.main.temp)
        })
      });


推荐阅读