У меня есть строка 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. Я хочу применить те же логи c за смерть и выздоровление. Следовательно, 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>