我需要迭代json对象和数组,对于特定的事情,我需要只返回带有我的评论的数组。
我从我的api得到了端点:
{total_reviews: 206, average_score: 4.2,…}
average_score
:
4.2
reviews
:
[{meta_id: "259", rating_post_id: "5", rating_user_id: "1", rating_user_name: "christophe",…},…]
total_reviews
:
206
在我的角度服务中,我得到了这样的端点:
getReviewsByPostId(paramsObj) {
let params = this.util.transformRequest(paramsObj);
return this.http.get(this.wpApiURL + '/reviews?' + params)
.map(res => {
this.reviews = res.json();
return this.reviews;
});
}
我也有一个组件:
loadReviews(postId) {
this.wp.getReviewsByPostId({post: postId}).subscribe(
data => {
console.log(data);
this.reviews = data;
},
error => {}
);
}
在我的角度应用程序中,返回的方法是什么?而不是total_reviews和average_score
谢谢!
答案 0 :(得分:1)
您可以直接访问"评论"来自你的json响应的值 我不确定确切的语法,但尝试以下
之一 res.json().reviews
或
res.reviews
你可以选择运行一个' foreach'关于您的JSON响应,只需获取您需要的特定密钥的值(在您的情况下'评论')
示例:
getReviewsByPostId(paramsObj) {
let params = this.util.transformRequest(paramsObj);
return this.http.get(this.wpApiURL + '/reviews?' + params)
.map(res => {
this.reviews = res.json();
angular.forEach(this.reviews,function (key,value){
if(key==='reviews'){
//store value in an array or any other data container
}
});
// return array/dataContainer;
});
}