2016-09-20 80 views
0

當我嘗試訪問JSON響應時,我無法訪問該對象。我需要targetdatapoint對象,然後我需要迭代dataPoint數組。無法訪問服務響應中的對象

result.target在上述情況下未定義。

控制器:

$scope.serviceCalls = function() { 
    var serviceUrl = "http://localhost:8080/rest/1"; 
    var promise = CommonService.getServiceJSON(serviceUrl); 
    promise.then(function(result) { 
     $scope.jsondata = result; 
     console.log($scope.jsondata); // getting the JSON in console logs 
     console.log($scope.jsondata.target); //returns undefined 
    }, function(reason) { 
     alert('Failed: ' + reason); 
    }, function(update) { 
     alert('Got notification: ' + update); 
    }); 
} 

JSON響應,我接受:

[{ 
    "target": "xxxxxxxxxxxx", 
    "datapoints": [ 
     [14711037952.0, 1474340220], 
     [14711058432.0, 1474340280], 
     [14719434752.0, 1474361700], 
     [null, 1474361760] 
    ] 
}] 
+2

'$ scope.jsondata [0] .target' - 結果是一個數組。還要確保結果是Json而不是字符串(否則使用JSON.parse(result)來解析它) – mkaran

+0

謝謝。 我錯過了其數組JSON的事實。 –

回答

0

響應是一個數組,所以你必須使用一個索引。

console.log($scope.jsondata[0].target); 
0

嘗試$scope.jsondata = JSON.parse(result);

0

你有什麼在$ scope.jsondata?嘗試解析結果。

0

$ scope.jsondata是一個數組

$scope.jsondata[0].target will give you target 
$scope.jsondata[0].datapoints will give you required array