SyntaxError: Unexpected token o at Object.parse (native) AngularJS

blue piranha picture blue piranha · Apr 21, 2015 · Viewed 61.8k times · Source

Question from AngularJS noob.

I am trying to use an asmx web service to display grid. I tested the web service and it correctly outputs the JSON data. Here is my controller

app.controller('SetupController', ['$scope', '$http', function ($scope, $http) {

    var url = 'app/pricefilessetup/grid.asmx/getGridJson';

    $http.get(url).success(function (data) {
        var myjson = JSON.parse(data);
        $scope.products= JSON.parse(myjson);
    });
}]);

For some reason, SO is not allowing me to paste the html but it basically has a ng-controller directive and ng-repeat to loop through the JSON data.

When I run this web app, I get the error

SyntaxError: Unexpected token o at Object.parse (native) and it points to following line

  $scope.questions = JSON.parse(myjson);

I tried checking the value of myjson using alert and it displays [object Object], [object Object], ...

Is there anything I am missing here

Answer

Pankaj Parkar picture Pankaj Parkar · Apr 21, 2015

I think data returned is already in JSON, no need of JSON.parse(), unless it in string format.

$scope.products= data;