Javascript 如何在JQuery中将JSON数据转换为数组?
我从结果中获取Json数据,如下所示Javascript 如何在JQuery中将JSON数据转换为数组?,javascript,jquery,json,Javascript,Jquery,Json,我从结果中获取Json数据,如下所示 var chartData1 = [ {\"Action\":\"Twitter\",\"value\":\"1.00\",\"platform\":\"2\"}, {\"Action\":\"WhatsApp\",\"value\":\"1.00\",\"platform\":\"3\"}, {\"Action\":\"Messaging\",\"value\":\"1.00\",\"platform\":\"4\"}
var chartData1 = [
{\"Action\":\"Twitter\",\"value\":\"1.00\",\"platform\":\"2\"},
{\"Action\":\"WhatsApp\",\"value\":\"1.00\",\"platform\":\"3\"},
{\"Action\":\"Messaging\",\"value\":\"1.00\",\"platform\":\"4\"}
]
var chartData2 = [
['Action', 'value', 'platform'],
['Twitter', '1.00', 2],
['WhatsApp', '1.00', 3],
['Messaging', 'WhatsApp', 4],
]
我想把它转换成下面的
var chartData1 = [
{\"Action\":\"Twitter\",\"value\":\"1.00\",\"platform\":\"2\"},
{\"Action\":\"WhatsApp\",\"value\":\"1.00\",\"platform\":\"3\"},
{\"Action\":\"Messaging\",\"value\":\"1.00\",\"platform\":\"4\"}
]
var chartData2 = [
['Action', 'value', 'platform'],
['Twitter', '1.00', 2],
['WhatsApp', '1.00', 3],
['Messaging', 'WhatsApp', 4],
]
我使用了不同的方法,如parseJSON、map等,但无法获得预期的结果
Can you help me out from this.
我假设您首先需要解析包含数据的有效JSON字符串,然后将包含对象的每一行转换为数组。并在整个数组前面加上具有列名的数组。下面的代码正好可以做到这一点:
var chartDataString = "[{\"Action\":\"Twitter\",\"value\":\"1.00\",\"platform\":\"2\"},{\"Action\":\"WhatsApp\",\"value\":\"1.00\",\"platform\":\"3\"},{\"Action\":\"Messaging\",\"value\":\"1.00\",\"platform\":\"4\"}]";
var chartData = JSON.parse(chartDataString);
var keys = [];
var data = [];
var row;
for (var i = 0; i < chartData.length; i++) {
row = [];
for (var key in chartData[i]) {
if (i === 0) {
keys.push(key);
}
row.push(chartData[i][key]);
}
if (i === 0) {
data.push(keys);
}
data.push(row);
}
console.log(data);
以下内容将其转换为数组,前提是它已被解析为对象
var chartData2 = Object.keys(chartData1).map(function(k) { return chartData1[k] });
console.log(chartData2);
这里最理想的方法可能是将原始数组映射到新结构: var chartData1=[ {操作:Twitter,值:1.00,平台:2}, {操作:WhatsApp,值:1.00,平台:3}, {操作:消息传递,值:1.00,平台:4} ]; var结果=chartData1.mapfunctionel{ 返回[el.Action,el.value,el.platform]; }; 结果.取消移位['Action'、'value'、'platform'];
alertJSON.stringifyresult,null,4;你能从你的数据中删除垃圾吗?