2012-04-19 22 views
6

Obtengo el id y el nombre de categoría de la base de datos mysql.Cómo imprimir el objeto/matriz jquery

Cuando yo estoy alertando resultado, me sale:

[{"id":"197","category":"Damskie"},"id":"198","category":"M\u0119skie"}] 

(¿Es este objeto?)

  1. ¿Cómo puedo imprimir un resultado como este:

    DAMSKIE

    M \ u0119skie

  2. M \ u0119ski - tiene una codificación incorrecta. Debe ser Męskie. ¿Cómo puedo cambiar esto?

Respuesta

22
var arrofobject = [{"id":"197","category":"Damskie"},{"id":"198","category":"M\u0119skie"}]; 

$.each(arrofobject, function(index, val) { 
    console.log(val.category); 
}); 
2

Su resultado es actualmente en formato de cadena, es necesario analizar como JSON.

var obj = $.parseJSON(result); 
alert(obj[0].category); 

Además, si se establece el tipo de datos de la llamada AJAX que están haciendo a json, se puede omitir el paso $.parseJSON().

+0

OP nunca dijo que es una llamada AJAX: P –

+0

@Vega Muy cierto, aunque si no es una llamada ajax, tal vez no tiene por qué ser JSON! –

+0

jaja cierto ... solo estaba bromeando. Lo más probable es que sea un retorno de AJAX. –

6

Lo que tienes desde el servidor es una cadena, como a continuación:

var data = '[{"id":"197","category":"Damskie"},{"id":"198","category":"M\u0119skie"}]'; 

continuación, puede utilizar la función JSON.parse para cambiarlo a un objeto. A continuación, se accede a la categoría, como a continuación:

var dataObj = JSON.parse(data); 

console.log(dataObj[0].category); //will return Damskie 
console.log(dataObj[1].category); //will return Męskie 
+0

Uso este ejemplo con jQuery.ajax() y también funciona. Gracias. – Sadu