无法将 jquery ajax 响应转换为数组 javascript

Unable to convert jquery ajax response to array javascript

我有一个 API,其中 returns 一个格式数组:

[
  {
    "abc": "def",
    "efg": "hij"
  },
  {
    "abc": "def",
    "efg": "hij"
  }
]

当我使用 jquery.ajax 访问服务时,我能够得到响应

$.ajax({
url: URL,
type: 'GET',
dataType: 'JSON',
xhrFields: {
withCredentials: false
},
success: function (data) {
console.log(data);
},
error: function (request, error) {});

在 java 脚本上,当我尝试检查数据的数据类型时,它是对象类型。 当我直接在控制台打印数据时

0: Object { "abc": "def", "egf":"ghi " }​​
​
1: Object { "abc": "def", "egf":"ghi " }​​

当我用 knockout.toJSON(data) 或 JSON.stringify(data) 打印时 returns

[
  {
    "abc": "def",
    "efg": "hij"
  },
  {
    "abc": "def",
    "efg": "hij"
  }
]

但是我无法将响应转换为数组,因为我希望它是一个数组。

我什至在 knockout.JSON(数据)、JSON.stringify(数据)和直接在数据上尝试了 JSON.parse,但都失败了。

将其转换为数组的最佳方法是什么。

JS 有 primitive 数据类型和 Objects,因为 Array 不是原始类型,它的 typeof 将 return Object

您可以在代码中将响应视为一个数组,无需转换。

Study this SO post for further info and the docs about JS data types