我想将两个jsons合并为一个,但无法使其工作。我设法从两者中获取我需要的数据,但是我有麻烦操纵jsons。
我计划使用两个for循环,但它不工作:
$scope.coursesJson = $http.get('https://api.myjson.com/bins/18zi3');
$scope.reviewsJson = $http.get('https://api.myjson.com/bins/52toz');
$q.all([$scope.coursesJson, $scope.reviewsJson]).then(function (values){
$scope.coursesJson = values[0];
$scope.reviewsJson = values[1];
for(i = 0;i<$scope.coursesJson.length;i++){
for(j = 0;j<$scope.reviewsJson.length;j++){
if($scope.coursesJson[i].name = $scope.reviewsJson[j].name){
$scope.coursesJson[i].reviews.push($scope.reviewsJson[j]);
}
}
}
console.log($scope.coursesJson);
});
使用控制台,我可以可视化的数据,但$ scope.coursesJson.length是不确定的,我不明白为什么。
也许我不明白$ q好吗?
编辑:
这里是)元素的例子,你可以找到在coursesJson文件我得到(:
[{"code":"123 ","name":"Acteurs","courseContentGrade":null,"courseTeachingGrade":null,"courseAverage":null,"reviews":null},
{"code":"1234","name":"Advanced Excel","courseContentGrade":null,"courseTeachingGrade":null,"courseAverage":null,"reviews":null}]
而且元素的例子,你可以找到在reviewsJson文件I get():
[{"code":"123 ","name":"Acteurs","professor":"Lalala","contentReview":"C'est très réussi.","teachingReview":"charismatique","contentGrade":8,"teachingGrade":8,"average":8,"trimester":"T2","day":"Jeudi/Thursday","time":"9h-12h","round":"1er tour","bet":21,"year":"2014/2015","upvotes":"0","author":"Piranha","passed":null},
{"code":"123 ","name":"Acteurs","professor":"LAlalalala","contentReview":"Très intéressant !","teachingReview":"Disponible, claire.","contentGrade":8,"teachingGrade":8,"average":8,"trimester":"T2","day":"Jeudi/Thursday","time":"9h-12h","round":"1er tour","bet":25,"year":"2014/2015","upvotes":"0","author":"Piranha","passed":null}]
我想将reviewsJson中的元素添加到coursesJson元素的评论字段中。这可能是问题吗?我认为使用push()方法会创建数组,但也许我需要将所有“评论”:null改为“reviews”:[]在coursesJson中?
你可以发布jsons,我想能够看到什么是数组什么是对象等 – jstuartmilne
你似乎是令人困惑的事情,'$ scope.coursesJson'是一个数组,但你试图访问属性'name'直接关闭它。不应该是'$ scope.coursesJson [i] .name'?另外,如果你正确地设置你的头文件,'content-type'和'acceptable' angular会为你解析响应。最后你用多个不同的值覆盖'coursesJson',首先有承诺,然后是数组。你应该避免这种做法。 – ste2425
'values'是'$ http'创建的promise对象的数组。不需要使用'fromJson()'。 – charlietfl