首页 > 解决方案 > 从 JSON 文件解析数组

问题描述

我正在尝试用 JS 解析 JSON,有一个数组并且没有按预期工作。我的程序中有其他 API,我已经parced。这是数据

{
  "cases": {
    "6/5/20": 6774904,
    "6/6/20": 6901877,
    "6/7/20": 7015312,
    "6/8/20": 7119002,
    "6/9/20": 7236054
  },
  "deaths": {
    "6/5/20": 396204,
    "6/6/20": 400051,
    "6/7/20": 402792,
    "6/8/20": 406543,
    "6/9/20": 411436
  },
  "recovered": {
    "6/5/20": 2961441,
    "6/6/20": 3032630,
    "6/7/20": 3087135,
    "6/8/20": 3238065,
    "6/9/20": 3319551
  }
}

我为此使用的代码在这里。

    const response = await fetch("https://disease.sh/v2/historical/all?lastdays=5");
    const data = await response.json();
    var casesH = data.cases[0];

    msg.channel.send(casesH);
    console.log(casesH);

有谁知道我可能做错了什么或该怎么做?

谢谢

标签: javascriptjsondiscord.js

解决方案


简单的。这不是一个数组,它是一个具有三个属性的对象:casesdeathsrecovered。这些属性中的每一个本身就是一个对象。要获取案例,您希望像这样索引:

const data = await fetch(`url`).then(res => res.json());

const cases = data['cases'];

或者,您应该能够使用ES6 解构

const { cases, deaths, recovered } = await fetch(`url`).then(res => res.json());

推荐阅读