无法用jQuery解析JSON,返回[object Object]
问题描述:
我怀疑我的问题是由于我的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]"
});
});
答
您已经发布了一些畸形的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
答
你的示例JSON是有点成形差(缺少}
)。
否则,试试这个:
$.each(data, function(key, subject) {
alert(subject.subject.title);
});
答
你的主题变量是一个JSON对象。 您必须指定对象的属性来获取值
alert(subject.subject.id); alert(subject.subject.title); Alert(subject.subject.desc);
这看起来正确根据你的对象。你想要什么? – gilly3