我有一个JSON响应,如下所示
{"items":["1","2","3"],"code":"ok"}
var simpleArry = [] ;
$http.post(url, "", "")
.then(function (response) {
console.log(response.data.items);
//$scope.items= response.data.items;
//instead of the above line
simpleArry = resp.data.items;
});
我需要再次迭代数组以从另一个调用中获取一些数据。 需要它在列表/数组中它应该是什么样的
var itmsArry = ["1","2","3"]
我试过这样的事情
var simpleArry = [] ;
simpleArry = resp.data.items;
但它总是空着的。它出了什么问题
我的问题没有重复。它关于json数组,与async调用没什么关系
答案 0 :(得分:0)
它应该与您展示的代码一起使用,可能是您在响应之外进行分配,
app.controller('myController', function($scope, myService) {
myService.getJSON().then(function(data){
$scope.myData =data;
console.log(data);
});
});
app.service('myService', function($http) {
this.getJSON = function() {
return $http.get('test.json').then(function(data) {
return data.data.items;
});
};
});
答案 1 :(得分:0)
你应该在代码
下面试试这个javascript代码
var str='{"items":["1","2","3"],"code":"ok"}';
var data=JSON.parse(str);
console.log(data.items);
答案 2 :(得分:0)
使用
try{
var data = JSON.parse(response)
}catch{
}
data.item包含数组。
答案 3 :(得分:0)
这就是我解决的问题。
var testArry = [];
for (var r = 0; r < response.data.items.length ; r++){
testArry.push(response.data.items[r]);
}