Javascript 将JSON/JS对象转换为数组
我有一个来自API的JSON响应,其结构如下:Javascript 将JSON/JS对象转换为数组,javascript,arrays,json,Javascript,Arrays,Json,我有一个来自API的JSON响应,其结构如下: { "data": [ { "id": "1", "name": "test" }, { "id": "2", "name": "test2" } ] } 当我引用数据时,我得到每个记录的数组。我需要花括号作为括号,因为我使用的插件要求它是数组 期望输出: [ ["1", "test"], ["2", "test"] ] 如何将上面的JSON转换成这个 编辑: 这是我使用的
{
"data": [
{
"id": "1", "name": "test"
},
{
"id": "2", "name": "test2"
}
]
}
当我引用数据时,我得到每个记录的数组。我需要花括号作为括号,因为我使用的插件要求它是数组
期望输出:
[
["1", "test"],
["2", "test"]
]
如何将上面的JSON转换成这个
编辑:
这是我使用的插件的一个问题,我一直都知道如何做到这一点。我以为我疯了,但我的代码很好,一些插件把事情搞砸了。你可以使用
可能是这样的:
到目前为止你试过什么?你被困在哪里?你知道如何迭代数组或对象吗?你一定在问之前试过什么。是的,我知道如何迭代数组/对象。嗯,
JSON.stringify()
将数组或对象编码为JSON。它不会改变数组或对象的结构。@NoahMatisoff:您希望JSON.stringify
做什么?您已经有了一个数组,所以只需迭代它,并将id
和name
推到一个新的数组中。您可以迭代result.data,然后将每一行转换为包含行数据的数组。您应该避免使用for…in
循环来迭代数组。我在控制台中运行并获得此结果。。。[[“1”,“test”],[“2”,“test2”]@FelixKling您通常如何在数组上进行迭代?使用for
循环:为什么选择for for in循环?是出于性能原因吗?我听说在中国更快。只是curious@NoahMatisoff:给定您的问题的输入,它将精确地生成您想要的输出:。当然,假设您解析了JSON。我在Angular的$http返回数据后添加了此代码,console.log()将其删除,但由于某些原因,它无法正常工作。这解决了我的问题此问题必须与插件有关,因此我接受此代码。谢谢
var arr = json.data.map(function(x){
return [x.id, x.name];
});
var arr = new Array();
var obj = {
"data": [
{
"id": "1", "name": "test"
},
{
"id": "2", "name": "test2"
}
]
}
for(var i in obj.data) {
var thisArr = new Array();
thisArr.push(obj.data[i].id);
thisArr.push(obj.data[i].name);
arr.push(thisArr);
}
console.log(arr);