2012-04-19 4 views
6

Ich bekomme ID und Kategorie Name von MySQL-Datenbank.Wie jquery Objekt/Array zu drucken

Wenn ich ein Ergebnis bin alarmiert, erhalte ich:

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

(Ist das Objekt?)

  1. Wie kann ich ein Ergebnis wie folgt drucken:

    Damskie

    M \ u0119skie

  2. M \ u0119ski - hat eine schlechte Kodierung. Es sollte Męskie sein. Wie kann ich das ändern?

Antwort

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

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

Ihr Ergebnis zur Zeit im String-Format ist, müssen Sie es als json analysieren.

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

Außerdem, wenn Sie den Datentyp des Ajax-Aufruf gesetzt Sie json machen, können Sie den $.parseJSON() Schritt überspringen.

+0

OP nie gesagt, es ist ein AJAX-Aufruf: P –

+0

@Vega Sehr wahr, aber wenn es nicht ein Ajax-Aufruf ist, vielleicht braucht es nicht json zu sein! –

+0

haha ​​wahr .. war nur Spaß tho. Wahrscheinlich sollte es eine Rückkehr von AJAX sein. –

6

Was Sie von dem Server ist eine Zeichenfolge, wie unten:

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

Dann können Sie JSON.parse Funktion verwenden, um es zu einem Objekt zu ändern. Dann greifen Sie auf die Kategorie wie folgt:

var dataObj = JSON.parse(data); 

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

Ich benutze dieses Beispiel mit jQuery.ajax() und es funktioniert auch. Vielen Dank. – Sadu