Tengo una API que devuelve una matriz de formato:
[ { "abc": "def", "efg": "hij" }, { "abc": "def", "efg": "hij" } ]Cuando accedo al servicio con jquery.ajax puedo obtener una respuesta
$.ajax({ url: URL, type: 'GET', dataType: 'JSON', xhrFields: { withCredentials: false }, success: function (data) { console.log(data); }, error: function (request, error) {});En java script, cuando trato de verificar el tipo de datos, es de tipo Objeto. Cuando imprimo datos directamente en la consola
0: Object { "abc": "def", "egf":"ghi " } 1: Object { "abc": "def", "egf":"ghi " }Donde como cuando imprimo con knockout.toJSON (datos) o JSON.stringify (datos) devuelve
[ { "abc": "def", "efg": "hij" }, { "abc": "def", "efg": "hij" } ]Sin embargo, no puedo convertir la respuesta en una matriz porque quiero que sea una matriz.
Incluso probé JSON.parse en knockout.JSON (datos), JSON.stringify (datos) y directamente en datos, pero falla.
¿Cuál es la mejor manera de convertir esto en una matriz?
JS tiene tipos de datos y Objects primitivos , ya que Array no es un primitivo, su typeof devolverá Object .
Puede tratar su respuesta como una matriz en su código, no se necesita conversión.
Estudie esta publicación SO para obtener más información y los documentos sobre los tipos de datos JS