2016-12-11 3 views
-1

Ich habe ein JSON-Array vom Dienst zum Controller abgerufen. Ich kann das JSON-Array in der Konsole anzeigen. Aber wenn ein bestimmtes Element aus dem JSON, heißt es undefined der Anzeige. Also wie rufe ich es richtig an, damit ich es aus meiner Sicht nutzen kann.JSON korrekt aufrufen

Controller:

$scope.onViewLoaded = function() { 
    callingService.getdata($scope.datafetched); 
} 

$scope.datafetched = function(response) { 
    debugger; 
    if (response) { 
    $rootScope.mainData = response; 
    $scope.localizeddataTypes = getLocalizedCollection($scope.mainData); 
    } 
} 

$scope.editFunction = function(key) { 
    console.log($scope.mainData); 
    debugger; 
    console.log($scope.mainData.keyValue); 
} 

Hier console.log($scope.mainData); Display des der JSON-Array aber console.log($scope.mainData.keyValue); als nicht definiert angezeigt. Und meine JSON sieht aus wie

{ 
    keyValue: "1234DEF56", 
    animals: { 
     name:"dog", 
     color:"brown" 
    }, 
    birds:{ 
     name:"canary", 
     color:"yellow" 
    } 
} 

So, wie ich dieses Problem überwinden und warum ich es als Undefined bekommen.

+1

Ich sehe kein Array in Ihren JSON-Daten. Wie auch immer, ich vermute, @ Praveen hat Recht –

Antwort

3

Nur ein Kuriosum. Ich habe den Eindruck, dass der Inhalt dieser Variablen im Stringformat und nicht in JSON oder JavaScript Object gespeichert ist. Versuchen Sie das und sehen Sie, ob das funktioniert?

$scope.mainData = JSON.parse($scope.mainData); 
console.log($scope.mainData.keyValue); 
Verwandte Themen