Please take a look a the chapter Transforming Requests and Responses of the $http module.
If JSON response is detected, deserialize it using a JSON parser.
Since it is already parsed as JSON object, if you parse it again, you will get that error.
Here is a simple test:
response = '{"a": "a","b": "b"}';
var obj = $.parseJSON(response);
console.log(obj); //Object {a: "a", b: "b"}
$.parseJSON(obj) //Uncaught SyntaxError: Unexpected token o