解析JavaScript中的JSON对象数组

CadaMerx:

我有一个JSON字符串:

{
    "country": "Mauritius",
    "provinces": [
        "mainland"
    ],
    "timeline": {
        "cases": {
            "3/19/20": 3,
            "3/20/20": 12,
            "3/21/20": 14,
            "3/22/20": 28,
            [...]
            "4/17/20": 324
        },
        "deaths": {
            "3/19/20": 0,
            "3/20/20": 0,
            "3/21/20": 1,
            "3/22/20": 2,
            [...]
            "4/17/20": 9
        },
        "recovered": {
            "3/19/20": 0,
            "3/20/20": 0,
            "3/21/20": 0,
            "3/22/20": 0,
            [...]
            "4/17/20": 108
        }
    }
}

我要实现的是解析案例,死亡和恢复到JavaScript中单独数组中的值。

例如,对于病例数,我想找到与前一个日期的病例数之差,起始日期3/19/20在初始病例中为3。我想对死亡和康复采用相同的逻辑。因此,3/20/20的值应为9(12-3)

最后,我想将每一个存储在数组中以在图表上使用此数据。有人可以帮我解析JavaScript或JQuery中的数据吗?

$.getJSON('https://corona.lmao.ninja/v2/historical/mauritius?lastdays=30', function(data) {

  let result = data.map(function(e) {
    return {
      cases: e.timeline.cases,
      deaths: e.timeline.deaths,
      recovered: e.timeline.recovered
    };
  }).reduce(function(acc, e) {

    Object.keys(e).forEach(function(t) {
      Object.keys(e[t]).forEach(function(d) {
        acc[t][d] = (acc[t][d] || 0) - e[t][d];
      });
    });
    return acc;
  }, {
    deaths: {},
    recovered: {},
    cases: {}
  });
  console.log(result)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

我是阿斯顿:

下面使用Array#reduce将服务器返回的绝对值转换为天数之间的差。

const entries = Object.entries, log = console.log, toJSON = JSON.stringify

const Δ = (arr, prev = 0) => 
  arr.reduce((acc, [date, curr]) => 
    (acc[date] = curr - prev, prev = curr, acc), {})
  
const AUTHORITY = 'corona.lmao.ninja'
async function fetchDeltas({ country, days = 30 }) {  
  const url = `//${AUTHORITY}/v2/historical/${country}?lastdays=${days}`
  const { timeline: { cases, deaths, recovered } } = await (await fetch(url)).json()
  return { 
    newCases: Δ(entries(cases)), 
    newDeaths: Δ(entries(deaths)),
    newRecoveries: Δ(entries(recovered))
  }
}
fetchDeltas({ country: 'mauritius' }).then(log)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析JSON以在javascript中的对象内部获取数组中的值

来自分类Dev

Javascript:解析字符串中的json对象数组

来自分类Dev

如何使用 npm dlv (JavaScript) 解析 JSON 对象中的数组

来自分类Dev

EJS解析JSON对象中的JSON数组

来自分类Dev

在Objective C中解析对象的JSON数组

来自分类Dev

从python中的对象解析Json数组

来自分类Dev

JSON.parse:解析对象中的数组

来自分类Dev

解析Crystal lang中的JSON对象数组

来自分类Dev

从组件中的服务解析JSON数组对象

来自分类Dev

在GO中解析json对象数组

来自分类Dev

解析NodeJS中的JSON对象数组

来自分类Dev

在Jackson中解析数组内的JSON对象

来自分类Dev

在python中解析json对象数组

来自分类Dev

未解析对象中的 JSON 数组

来自分类Dev

javascript 中 JSON 数组中的 JSON 对象

来自分类Dev

在JSON数组Javascript中访问JSON对象

来自分类Dev

在Android中解析json数组中的json对象?

来自分类Dev

在 javascript 中解析 JSON 对象(键/值对)

来自分类Dev

如何在JavaScript中解析JSON对象

来自分类Dev

JSON - 对象数组中的对象 - 如何使用 JS 解析循环?

来自分类Dev

使用数组根对象在Swift中解析JSON数组

来自分类Dev

如何在 Javascript 中解析 Json 数组

来自分类Dev

解析对象中的数组

来自分类Dev

解析JSON对象的JSON数组?

来自分类Java

如何在Android中解析JSON数组(非Json对象)

来自分类Dev

如何解析 JSON 对象中的 JSON 数组

来自分类Dev

在Node JS中解析JSON对象内部的JSON数组

来自分类Dev

解析JSON对象-JavaScript

来自分类Dev

JSON对象解析javascript