我有一个像这样的JSON文件:
[{
"X_id": ["ID1"],
"contents.value": ["Shanghai"],
"contents.count": [23.7]
}, {
"X_id": ["ID2"],
"contents.value": ["Lagos"],
"contents.count": [16.1]
}, {
"X_id": ["ID3"],
"contents.value": ["Instanbul"],
"contents.count": [14.2]
}, {
"X_id": ["ID4"],
"contents.value": ["Karachi"],
"contents.count": [14.0]
}, {
"X_id": ["ID5"],
"contents.value": ["Mumbai"],
"contents.count": [12.5]
}]
我想将此文件中的数据转换为数组,如下所示:
var series = [
['Shanghai', 23.7],
['Lagos', 16.1],
['Instanbul', 14.2],
['Karachi', 14.0],
['Mumbai', 12.5]
];
所以这是我为此尝试的代码:
var series = [];
$.getJSON("example.json", function(data) {})
.done(function(data) {
$.each(data, function(i, item) {
series.push([item['contents.value'][0], item['contents.count'][0]])
});
})
.fail(function() {})
.always(function(data) {});
我使用这个数组作为函数的数据源,第一个series
变量对我有用,但是我想从那个JSON文件中获取看起来像这样的数据,但第二个{ {1}}变量对我没用。
我尝试series
这两个变量,结果如下:
你可以看到,对于第一个变量,数组的内容显示在控制台上,但是对于第二个变量,它不是这样显示的:console.log()
并且看到它&#39 ; s内容我必须点击它,然后控制台显示:
那么如何让第二个数组看起来像第一个呢?
答案 0 :(得分:0)
'use strict'
let data = [{
"X_id": ["ID1"],
"contents.value": ["Shanghai"],
"contents.count": [23.7]
}, {
"X_id": ["ID2"],
"contents.value": ["Lagos"],
"contents.count": [16.1]
}, {
"X_id": ["ID3"],
"contents.value": ["Instanbul"],
"contents.count": [14.2]
}, {
"X_id": ["ID4"],
"contents.value": ["Karachi"],
"contents.count": [14.0]
}, {
"X_id": ["ID5"],
"contents.value": ["Mumbai"],
"contents.count": [12.5]
}]
let result = data.map((item) => {
return [
item['contents.value'][0],
item['contents.count'][0],
]
})
console.log(result)
输出
[ [ 'Shanghai', 23.7 ],
[ 'Lagos', 16.1 ],
[ 'Instanbul', 14.2 ],
[ 'Karachi', 14 ],
[ 'Mumbai', 12.5 ] ]