You're doing it wrong! Using the MVC player is for emdedding the content returned by the controller where the function is inserted, not overriding the whole response. Instead request the controller directly by its route.
Btw, returning JSON from your MVC controller is in 99% of the cases better handled using dedicated Web API.
Btw, returning JSON from your MVC controller is in 99% of the cases better handled using dedicated Web API.