我将使用jQuery .each
运算符遍历此json响应主体中的所有post元素。
{
"posts": [
{
"Post": {
"post_id": "1",
"url": "somUrl",
"image": "",
"body": "textbody",
"parent_id": "0",
"title": "title1"
}
},
{
"Post": {
"post_id": "2",
"url": "somUrl",
"image": "",
"body": "textbody",
"parent_id": "0",
"title": "title2"
}
}
},
{
"Post": {
"post_id": "3",
"url": "somUrl",
"image": "",
"body": "textbody",
"parent_id": "0",
"title": "title3"
}
},
{
"Post": {
"post_id": "4",
"url": "somUrl",
"image": "",
"body": "textbody",
"parent_id": "0",
"title": "title4"
}
}
]}
我写了这段代码,但它无法打印标题。它不会遍历帖子项目。
如何使此代码正常工作?
data
是传递给ajax的回调函数的响应变量。
$.each(data,function(key,post){console.log(post.title)});
感谢您的帮助。
答案 0 :(得分:4)
您尝试访问json的方式是错误的。请从迭代json数组的角度思考。
尝试,
$.each(data.posts , function(index,val){
console.log(val.Post.title)
});
答案 1 :(得分:1)
在数据的地方使用 data.posts
$.each(data.posts,function(key,val){
console.log(val.post.title);
});
答案 2 :(得分:1)
我认为这会对你有所帮助
$.each(data.posts,function(index,value){console.log(value.post.title)});
答案 3 :(得分:1)
这应该可行,在fiddle上进行测试:
$.each(data.posts,function(index,item){
console.log(item.Post);
});
用于访问特定属性:
console.log(item.Post.propertyName);
例如:
console.log(item.Post.title);