将json数组转换为javascript数组

sha*_*nth 8 javascript json

我有一个json数组,我想转换成一个普通的javascript数组:

这是我的json数组:

var users = {"0":"John","1":"Simon","2":"Randy"}
Run Code Online (Sandbox Code Playgroud)

如何将其转换为如下的普通javascript数组:

var users = ["John", "Simon", "Randy"]
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 10

users已经是JS对象(不是JSON).但是你走了:

var users_array = [];
for(var i in users) {
    if(users.hasOwnProperty(i) && !isNaN(+i)) {
        users_array[+i] = users[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:在数组中的正确位置插入元素.谢谢@RoToRa.

也许首先不容易创建这种对象.它是如何创建的?

  • 小心,您的代码可能不会将值分配给正确的索引,因为您假设对象属性是迭代排序的.`if(!isNaN(+ i)){users_array [+ i] = users [i]}`可能更好. (4认同)
  • @dskanth:如果你没有做任何花哨的事,请使用原生函数`json_encode`.它只会将关联数组转换为JSON对象,将数字索引转换为数组. (2认同)