2011-06-24 39 views
8

Tôi đã sau mã jQuery/JStại sao parseJSON trả về null

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
<script> 
    $.getJSON("http://example/topics", {}, function(data){ 
      console.log(data); // display the JSON *data* in the web console 
      console.log($.parseJSON(data)); 
    }); 
</script> 

console.log (dữ liệu) cho thấy dữ liệu JSON trong bảng điều khiển firebug (firefox add-on), nhưng console.log ($. parseJSON (dữ liệu)) hiển thị null.

lý do có thể là gì.

Tôi cần phải chuyển đổi chuỗi JSON thành mảng.

Trả lời

21

Tôi giả sử vì $.getJSON đã phân tích cú pháp dữ liệu. data là đối tượng Javascript.

Gọi lại success được truyền dữ liệu trả về, thường là đối tượng JavaScript hoặc mảng như được xác định bởi cấu trúc JSON và được phân tích cú pháp bằng phương pháp $.parseJSON().

Tất nhiên chúng tôi có thể nói nhiều hơn nếu bạn chỉ cho chúng tôi kết quả, nhưng thông thường, $.getJSON đã phân tích cú pháp phản hồi.

P.S .: Tôi hy vọng bạn sử dụng URL thích hợp trong mã thực của bạn.

2

Hãy thử xác thực chuỗi json của bạn, tôi đoán nó không hợp lệ (và không thể được phân tích cú pháp vì điều này): http://jsonlint.com/

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