Как я могу преобразовать этот объект JSON в этот формат? - PullRequest
0 голосов
/ 02 августа 2020

Я хотел бы получить некоторую помощь по изменению структуры данных объекта JSON {Object - Object} в формат, который работает со структурой данных Re-Charts {Array - Object}. Не могли бы вы посоветовать, как и как лучше всего решить эту проблему. Я очень ценю ваше время и дайте мне знать, если я должен предоставить дополнительную информацию.

JSON Объект, который я хотел бы преобразовать

{
    "Date": {
      "0": "2019-08-02",
      "1": "2019-08-05",
      "2": "2019-08-06",
      "3": "2019-08-07",
      "4": "2019-08-08",
      "5": "2019-08-09",
      "6": "2019-08-12",
      "7": "2019-08-13",
      "8": "2019-08-14",
      "9": "2019-08-15",
      "10": "2019-08-16"
},
"Open": {
      "0": 205.529999,
      "1": 197.990005,
      "2": 196.309998,
      "3": 195.410004,
      "4": 200.199997,
      "5": 201.300003,
      "6": 199.619995,
      "7": 201.020004,
      "8": 203.160004,
      "9": 203.460007,
      "10": 204.279999
},
"High": {
      "0": 206.429993,
      "1": 198.649994,
      "2": 198.070007,
      "3": 199.559998,
      "4": 203.529999,
      "5": 202.759995,
      "6": 202.050003,
      "7": 212.139999,
      "8": 206.440002,
      "9": 205.139999,
      "10": 207.160004
}
}

Формат Я хочу преобразовать в

[{ Date: '2019-08-02', Open: 205.529999 }, { Date: '2019-08-05', Open: 197.990005}, { Date: '2019-08-06', Open: 196.309998}, {...} ]

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Вот что я использовал для этого:

Initialized consts

const values = Object.values(Data.default)
const dates  = values[0]
const prices = values[1] 
const arr = [];

For L oop Statement (мне пришлось работать с for l oop, чтобы это произошло, ответьте, пожалуйста, на другие способы, которые можно было бы сделать без оператора for l oop.)

var i; 
var l = Object.keys(dates).
for( i=0; i < l.length; i++ ) 
{
var b = {}; 
b["Dates"] = dates[i]
b["Prices"]= prices[i]
arr.push(b); 
} 
0 голосов
/ 02 августа 2020

Вы можете использовать карту ключей опции даты для перебора этих дат:

const arrData = Object.keys(data.Date).map((value, index) => {
    return {
      name: `Page ${String.fromCharCode(index+65)}`,
        uv: data.Open[index],
        pv: data.High[index]
    };
});

Или сокращение:

const arrData = Object.keys(data.Date).reduce((arr, value, index) => {
    arr.push({
      name: `Page ${String.fromCharCode(index+65)}`,
        uv: data.Open[index],
        pv: data.High[index],
        amt: 0 // Where ever you get this info from ;)
    })
    return arr;
}, []);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...