2012-04-19 34 views
6

Tôi lấy tên id và danh mục từ cơ sở dữ liệu mysql.Cách in đối tượng/mảng jquery

Khi tôi đang cảnh báo một kết quả, tôi nhận được:

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

(là đối tượng này?)

  1. Làm thế nào tôi có thể in kết quả như thế này:

    Damskie

    M \ u0119skie

  2. M \ u0119ski - có mã hóa kém. Nó phải là Męskie. Làm thế nào tôi có thể thay đổi điều này?

Trả lời

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

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

Kết quả của bạn hiện đang ở định dạng chuỗi, bạn cần phải phân tích nó như json.

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

Ngoài ra, nếu bạn thiết lập datatype của cuộc gọi ajax bạn đang làm để json, bạn có thể bỏ qua bước $.parseJSON().

+0

OP không bao giờ nói đó là một cuộc gọi AJAX: P –

+0

@Vega Rất đúng, tuy nhiên nếu nó không phải là một cuộc gọi ajax, có lẽ nó không cần phải được json! –

+0

haha ​​đúng .. chỉ đùa thôi. Rất có thể, Nó phải là một sự trở lại từ AJAX. –

6

Những gì bạn có từ máy chủ là một chuỗi như dưới đây:

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

Sau đó, bạn có thể sử dụng JSON.parse chức năng để thay đổi nó thành một đối tượng. Sau đó, bạn truy cập vào các mục như dưới đây:

var dataObj = JSON.parse(data); 

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

Tôi sử dụng ví dụ này với jQuery.ajax() và nó cũng hoạt động. Cảm ơn. – Sadu

Các vấn đề liên quan