如何处理 JSON 数据?
How to handle JSON data?
好的,所以我有来自 JSON 的数据。此数据的结构如下所示:
如您所见,此数据包含一个数组,其中包含名称、类型和值。我需要做的是转换以某种方式使用此功能:
https://developers.google.com/chart/interactive/docs/reference#google.visualization.arraytodatatable
此函数需要按以下格式提供数据:
['Country', 'Population', 'Area'],
['CN', 1324, 9640821],
['IN', 1133, 3287263],
['US', 304, 9629091],
['ID', 232, 1904569],
['BR', 187, 8514877]
所以在我的情况下是:
[name, type, value]
data iself
有什么帮助吗?
您可以使用 Array.prototype.map
将项目数组转换为修改后的项目数组。
在你的例子中,这可能是这样的。
var flattened = object.data.map( function( item ){
return [ item[0].name, item[0].type, item[0].value ];
});
这应该可以解决问题:
var result = data.map(function(item){
var i = item[0];
return [i.name, i.type, i.value];
}); // Map the data from objects to the require arrays.
result.unshift(['Country', 'Population', 'Area']); // Add the description row.
这首先将源数据中的所有数据映射到result
数组中的[name, type, value]
项,然后将"description"数组添加到结果的前面。
给你。懒惰的程序员服务。
// obj is your original json
var newdata = [];
for(var i=0;i<obj.data.length;i++)
newdata.push([obj.data[i][0].name,obj.data[i][0].type,obj.data[i][0].value]);
newdata.unshift(['Country', 'Population', 'Area']);
好的,所以我有来自 JSON 的数据。此数据的结构如下所示:
如您所见,此数据包含一个数组,其中包含名称、类型和值。我需要做的是转换以某种方式使用此功能:
https://developers.google.com/chart/interactive/docs/reference#google.visualization.arraytodatatable
此函数需要按以下格式提供数据:
['Country', 'Population', 'Area'],
['CN', 1324, 9640821],
['IN', 1133, 3287263],
['US', 304, 9629091],
['ID', 232, 1904569],
['BR', 187, 8514877]
所以在我的情况下是:
[name, type, value]
data iself
有什么帮助吗?
您可以使用 Array.prototype.map
将项目数组转换为修改后的项目数组。
在你的例子中,这可能是这样的。
var flattened = object.data.map( function( item ){
return [ item[0].name, item[0].type, item[0].value ];
});
这应该可以解决问题:
var result = data.map(function(item){
var i = item[0];
return [i.name, i.type, i.value];
}); // Map the data from objects to the require arrays.
result.unshift(['Country', 'Population', 'Area']); // Add the description row.
这首先将源数据中的所有数据映射到result
数组中的[name, type, value]
项,然后将"description"数组添加到结果的前面。
给你。懒惰的程序员服务。
// obj is your original json
var newdata = [];
for(var i=0;i<obj.data.length;i++)
newdata.push([obj.data[i][0].name,obj.data[i][0].type,obj.data[i][0].value]);
newdata.unshift(['Country', 'Population', 'Area']);