我需要将我的json数据转换为Javascript数组,我在Data.json文件中使用以下数据,
[{
"nid": 1,
"Desc": "Extra Style Window",
"Xvalue": "448",
"Yvalue": "458",
"ImgValue": "1"
},
{
"nid": 2,
"Desc": "Door",
"Xvalue": "138",
"Yvalue": "558",
"ImgValue": "2"
},
{
"nid": 3,
"Desc": "Fittings",
"Xvalue": "400",
"Yvalue": "258",
"ImgValue": "3"
},
{
"nid": 4,
"Desc": "Fittings Spare",
"Xvalue": "168",
"Yvalue": "102",
"ImgValue": "3"
}
]
我想要以下数组格式的上述数据,
var dataPoints = new Array([nid,"Desc",Xvalue,Yvalue,ImgValue],......[n]);
我使用波纹管代码为我的一方,但它不起作用,
var arr = [];
for (var prop in data) {
arr.push(data[prop]);
}
console.log(data.name);
alert(data.name);
如何转换它,我在Json文件中有大量数据,请帮我解决这个问题。如果有任何其他解决方法请告诉我。
感谢。
答案 0 :(得分:2)
您可以使用Javascript' var formattedArray = data.map(i => [i.nid, i.Desc, i.Xvalue, i.Yvalue, i.ImgValue]);
函数
var formattedArray = data.map(item => Object.keys(item).map(i => item[i]));
这将返回一个包含每个对象值的数组的数组:
如果你想要一种纯函数式的方法来解决这个问题(可以在任何数组上重用):
{{1}}
答案 1 :(得分:1)
您只需按照以下示例操作即可。
//var json_data= {name: "Dhana", age: 25};
var json_data= [{"name":1,"age":7},{"name":5,"age":6}];
var result = [];
for(var i in json_data){
var a=json_data[i]
result.push(a);
}
console.log(result[0].age);
如果存在单个或多个对象,则可以成功地将这些对象放入数组中。 仅使用.push()方法,数组中的分割索引将存在问题。所以我更喜欢这个例子,它为我提供了适当的解决方案。
答案 2 :(得分:0)
var jsonObject = JSON.parse(string); //以字符串形式获取数据并传递它。
jsonObject将是基于json字符串的项目数组。 现在你可以迭代jsonObject并访问它的欲望项/ propety。
答案 3 :(得分:-1)