我正在尝试将两个jsons合并为一个,但无法使其工作。我设法从两个get中检索我需要的数据,但是我操纵jsons时遇到了麻烦。
我计划使用两个for循环,但它不起作用:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp1.1"=dword:00000000
"ProxyServer"="http://ProxyServername:80"
"ProxyOverride"="<local>"
使用控制台,我可以看到数据,但$ scope.coursesJson.length未定义,我不明白为什么。
也许我不理解$ q?
编辑:
以下是您可以在我获得的课程Json文件中找到的元素示例:
$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);
});
你可以在我获得的reviewsJson文件中找到的元素示例:(
)[{"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中找到的元素添加到coursesJson元素的reviews字段中。这可能是问题吗?我认为使用push()方法会创建数组,但也许我需要更改所有“评论”:null到“review”:[]在coursesJson中?
答案 0 :(得分:0)
我去了网址https://api.myjson.com/bins/ID1,它不是一个数组,而是一个对象。而不是$ scope.coursesJson.length我认为你应该做$ scope.coursesJson.tracks.length
答案 1 :(得分:0)
我很容易解决了我的问题,我的问题实际上非常愚蠢。
我试图实现的目标并不在前面而是在后端。