Conversión de objeto JavaScript con teclas numéricas en matriz

Tengo un objeto como este que vuelve como una respuesta JSON del servidor:

{"0":"1","1":"2","2":"3","3":"4"} 

Quiero convertirlo en una matriz de JavaScript como esta:

 ["1","2","3","4"] 

¿Hay una mejor manera de hacer esto? Dondequiera que esté leyendo, las personas están usando lógica compleja usando bucles. Entonces, ¿hay métodos alternativos para hacer esto?

En realidad, es muy sencillo con $.map jQuery

 var arr = $.map(obj, function(el) { return el }); 

VIOLÍN

y casi tan fácil sin jQuery también, convirtiendo las claves en una matriz y luego mapeando los valores con Array.map

 var arr = Object.keys(obj).map(function(k) { return obj[k] }); 

VIOLÍN

Suponiendo que ya se haya analizado como un objeto JavaScript, y no es realmente JSON, que es un formato de cadena, en ese caso JSON.parse sería necesario ejecutar JSON.parse .

En ES2015 hay Object.values para el rescate, lo que hace que esto sea muy sencillo

 var arr = Object.values(obj); 
 var json = '{"0":"1","1":"2","2":"3","3":"4"}'; var parsed = JSON.parse(json); var arr = []; for(var x in parsed){ arr.push(parsed[x]); } 

Espero que esto es lo que buscas!

Simplemente lo haces como

 var data = { "0": "1", "1": "2", "2": "3", "3": "4" }; var arr = []; for (var prop in data) { arr.push(data[prop]); } console.log(arr); 

MANIFESTACIÓN

No hay nada como un “objeto JSON” – JSON es una notación de serialización.

Si desea transformar su objeto javascript en una matriz javascript , ya sea que escriba su propio bucle [¡que no sería tan complejo!], O confíe en el _.toArray() underscore.js _.toArray() :

 var obj = {"0":"1","1":"2","2":"3","3":"4"}; var yourArray = _(obj).toArray(); 

Nada difícil aquí. Haz un bucle sobre tus elementos de objeto y asígnales a la matriz

 var obj = {"0":"1","1":"2","2":"3","3":"4"}; var arr = []; for (elem in obj) { arr.push(obj[elem]); } 

http://jsfiddle.net/Qq2aM/

 var JsonObj= {"0":"1","1":"2","2":"3","3":"4"}; var array = []; for(var i in JsonObj) { if(JsonObj.hasOwnProperty(i) && !isNaN(+i)) { array[+i] = JsonObj[i]; } } 

MANIFESTACIÓN

Prueba esto:

 var newArr = []; $.each(JSONObject.results.bindings, function(i, obj) { newArr.push([obj.value]); }); 

Usando JavaScript sin formato, suponga que tiene:

 var j = {0: "1", 1: "2", 2: "3", 3: "4"}; 

Podrías obtener los valores con:

 Object.keys(j).map(function(_) { return j[_]; }) 

Salida:

 ["1", "2", "3", "4"] 

No estoy seguro de lo que me falta aquí, pero simplemente probar el siguiente código hace el trabajo. ¿Me estoy perdiendo algo aquí?

https://jsfiddle.net/vatsalpande/w3ew5bhq/

 $(document).ready(function(){ var json = { "code" :"1", "data" : { "0" : {"id":"1","score":"44"}, "1" : {"id":"1","score":"44"} } }; createUpdatedJson(); function createUpdatedJson(){ var updatedJson = json; updatedJson.data = [updatedJson.data]; $('#jsondata').html(JSON.stringify(updatedJson)); console.log(JSON.stringify(updatedJson)); } }) 

Suponiendo que tiene un valor como el siguiente

 var obj = {"0":"1","1":"2","2":"3","3":"4"}; 

Luego puede convertir esto en una matriz de javascript utilizando la siguiente

 var arr = []; json = JSON.stringify(eval('(' + obj + ')')); //convert to json string arr = $.parseJSON(json); //convert to javascript array 

Esto también funciona para convertir json en matrices javascript de múltiples disminuciones.

Ninguno de los otros métodos en esta página parecía funcionar completamente para mí cuando se trabaja con cadenas codificadas con php json, excepto el método que menciono aquí.

Aquí hay un ejemplo de cómo puede obtener una matriz de objetos y luego ordenar la matriz.

  function osort(obj) { // map the object to an array [key, obj[key]] return Object.keys(obj).map(function(key) { return [key, obj[key]] }).sort( function (keya, keyb) { // sort(from largest to smallest) return keyb[1] - keya[1]; } ); } 

Esta es la mejor solución. Creo que si.

 Object.keys(obj).map(function(k){return {key: k, value: obj[k]}}) 
 var obj = {"0":"1","1":"2","2":"3","3":"4"}; var vals = Object.values(obj); console.log(vals); //["1", "2", "3", "4"] 

Otra alternativa a la pregunta

 var vals = Object.values(JSON.parse(obj)); //where json needs to be parsed 

Puede convertir el objeto json en Array & String usando PHP.

 $data='{"resultList":[{"id":"1839","displayName":"Analytics","subLine":""},{"id":"1015","displayName":"Automation","subLine":""},{"id":"1084","displayName":"Aviation","subLine":""},{"id":"554","displayName":"Apparel","subLine":""},{"id":"875","displayName":"Aerospace","subLine":""},{"id":"1990","displayName":"Account Reconciliation","subLine":""},{"id":"3657","displayName":"Android","subLine":""},{"id":"1262","displayName":"Apache","subLine":""},{"id":"1440","displayName":"Acting","subLine":""},{"id":"710","displayName":"Aircraft","subLine":""},{"id":"12187","displayName":"AAC","subLine":""}, {"id":"20365","displayName":"AAT","subLine":""}, {"id":"7849","displayName":"AAP","subLine":""}, {"id":"20511","displayName":"AACR2","subLine":""}, {"id":"28585","displayName":"AASHTO","subLine":""}, {"id":"45191","displayName":"AAMS","subLine":""}]}'; $b=json_decode($data); $i=0; while($b->{'resultList'}[$i]) { print_r($b->{'resultList'}[$i]->{'displayName'}); echo "
"; $i++; }
  var data = []; data = {{ jdata|safe }}; //parse through js var i = 0 ; for (i=0;i 
 var obj= {"0":"1", "1":"2", "2":"3", "3":"4"}; var arr = []; var keys = window.jQuery.map(obj, function(value, key) { arr.splice(key, 0, value); console.log(arr); });