2011-09-30 111 views
0

我懷疑我的問題是由於我的JSON字符串的結構。它似乎在JSON對象中有一個JSON對象。無法用jQuery解析JSON,返回[object Object]

這是我的JSON格式:

[ 
{"subject":{"title":"java","id":"1","desc":"Basic java programming"}, 
{"subject":{"title":"objective c","id":"2","desc":"Introduction to objective c"} 
} 

這是我的jQuery代碼:

var items = []; 

    $.getJSON('theurl', function(data) { 

     $.each(data, function(key, subject) { 
      alert(subject); //returning me "[object Object]" 
      $('#tempresult').append('<p>'+ subject +'</p>'); //returning me "[object Object]" 
     }); 
    }); 
+0

這看起來正確根據你的對象。你想要什麼? – gilly3

回答

3

您已經發布了一些畸形的JSON。我要去你的元素被正確關閉的假設:

[ 
    {"subject":{"title":"java","id":"1","desc":"Basic java programming"}}, 
    {"subject":{"title":"objective c","id":"2","desc":"Introduction to objective c"}} 
] 

它看起來像你想$('#tempresult').append('<p>'+ subject.subject.desc +'</p>');

data[0]是這樣的對象:

{"subject":{"title":"java","id":"1","desc":"Basic java programming"}} 

是這個對象:

{"subject":{"title":"objective c","id":"2","desc":"Introduction to objective c"}} 

data[0].subject是此目的:

{"title":"java","id":"1","desc":"Basic java programming"} 

data[0].subject.desc是這樣的:

"Basic java programming" 
+0

感謝您的詳細解釋@zzzzBov! – tommi

1

你的示例JSON是有點成形差(缺少})。

否則,試試這個:

$.each(data, function(key, subject) { 
    alert(subject.subject.title); 
}); 

http://jsfiddle.net/7xMJP/

1

你的主題變量是一個JSON對象。 您必須指定對象的屬性來獲取值

alert(subject.subject.id); alert(subject.subject.title); Alert(subject.subject.desc);

+0

我起初犯了同樣的錯誤,但考慮到他格式不正確的JSON,我認爲'title,id,desc'對象被包裝在一個obj中,並帶有'subject'的鍵:你需要'subject.subject [。 ..name ...]'而不是'subject [... name ...]' – zzzzBov

+0

這是真的,我很傻。我在手機上,屏幕有限。謝謝你zzzzBov注意到我。 – sepidol

相關問題