我试图找出如何操纵我的JSON数据并使用操纵数据创建一个单独的对象。
更确切地说,我使用的是这个JSON文件:https://jsonblob.com/57a70ca4e4b0dc55a4eb1f73
我正在尝试将[dataset] [data]转换为以下格式:
[Date.UTC(2013,5,2),0.7695],
[Date.UTC(2013,5,3),0.7648],
[Date.UTC(2013,5,4),0.7645],
[Date.UTC(2013,5,5),0.7638],
[Date.UTC(2013,5,6),0.7549]
所以我需要使用字段[dataset][data][i][0]
(日期)和[dataset][data][i][4]
(值)并以某种方式将其放入新的JSON格式对象,但我不知道该怎么做。
有人可以帮我解决这个问题吗?
$(function () {
$.getJSON('json/AAPL.json', function (data) {
// Data manipulation into a new object??
});
});
答案 0 :(得分:1)
这应该这样做:
$(function () {
$.getJSON('json/AAPL.json', function (data) {
var correctFormat = data.dataset.data.map(function(item) {
return [new Date(item[0]), item[4]];
});
});
});
答案 1 :(得分:1)
你的问题只是地图一:
你有一个元素数组(数组本身),你想保留和修改每个子数组的第一个和第五个元素
所以你可以这样做
var data = [
[
"2016-08-02",
106.05,
106.07,
104,
104.48,
32731069,
0,
1,
106.05,
106.07,
104,
104.48,
32731069
],
[
"2016-08-01",
104.41,
106.15,
104.41,
106.05,
37141424,
0,
1,
104.41,
106.15,
104.41,
106.05,
37141424
],
[
"2016-07-29",
104.19,
104.55,
103.68,
104.19,
27076805,
0,
1,
104.19,
104.55,
103.68,
104.19,
27076805
]
];
var result = data.map(x => [Date(x[0]), x[4]]);
console.log(result); // [ [ 'Sun Aug 07 2016 14:29:22 GMT+0200 (Paris, Madrid (heure d’été))',104.48 ],
// [ 'Sun Aug 07 2016 14:29:22 GMT+0200 (Paris, Madrid (heure d’été))',106.05 ],
// [ 'Sun Aug 07 2016 14:29:22 GMT+0200 (Paris, Madrid (heure d’été))',104.19 ] ]