Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON/JS对象转换为数组_Javascript_Arrays_Json - Fatal编程技术网

Javascript 将JSON/JS对象转换为数组

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转换成这个 编辑: 这是我使用的

我有一个来自API的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);