如何在Javascript中将JSON转换为数组 [英] How to convert JSON to Array in Javascript
本文介绍了如何在Javascript中将JSON转换为数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将JSON转换为Array,并通过以下方式返回值: console.log(数据);
I want to convert JSON to Array and I return value by : console.log(data);
值为:
[{ "data" : [ [object] ] },
[{ "data" : [ [object] , [object] ] }
因此,我通过以下方式将其转换为JSON
so, I converted to JSON by:
console.log(JSON.stringify(data, null, " "));
值为:
[
{
"data" : [
{
"month" : 1,
"name" : "Alex",
"sum" : 20
}
]
},
{
"data" : [
{
"month" : 2,
"name" : "Zara",
"sum" : 18
},
{
"month" : 2,
"name" : "Zara",
"sum" : 19
}
]
}
]
我想转换为Array:
I want convert to Array :
{
"data" : { [ 1, "Alex", 20 ] }
},
{
"data" : { [ 2, "Zara", 18 ] },
{ [ 2, "Zara", 19 ] }
}
如何转换?
推荐答案
您的预期输出的语法不正确,因为您不能有没有键值对的对象.
The syntax of your expected output is incorrect as you cant have object without key value pair.
您可以将输出设置为
{
"data" : [ [ 1, "Alex", 20 ] ]
},
{
"data" : [[ 2, "Zara", 18 ] ,
[ 2, "Zara", 19 ] ]
}
这是考虑上述输出的解决方案
var inputArr = [
{
"data" : [
{
"month" : 1,
"name" : "Alex",
"sum" : 20
}
]
},
{
"data" : [
{
"month" : 2,
"name" : "Zara",
"sum" : 18
},
{
"month" : 2,
"name" : "Zara",
"sum" : 19
}
]
}
];
inputArr.forEach(function(item){
for (var i=0; i< item.data.length; i++){
var myArr = [];
myArr.push(item.data[i].month);
myArr.push(item.data[i].name);
myArr.push(item.data[i].sum);
item.data[i] = myArr;
}
})
console.log(JSON.stringify(inputArr));
注意:如果可以在代码中使用ES6,则可以简化解决方案.
NOTE: Solution can be simplified if you are Ok to use ES6 in your code.
这篇关于如何在Javascript中将JSON转换为数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文