Solution 1:

You will need to return the json as text/html since IE does not know what to do with application/json contents..

return Json(myObject, "text/html");

Not sure but it might work (and it would be more correct if it does) to use text/x-json

return Json(myObject, "text/x-json");

Solution 2:

Even though this question is a few months old, I thought I'll add one more suggestion, just in case anyone else is using ASP.NET MVC 3 or 4 and runs into this problem.

In my experience, when IE attempts to download the Json response as a file all you have to do to correct the problem is to add a reference to jquery.unobtrusive to your view.

for example:

@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")

Once this is in place IE will no longer try to download the json response from a JsonResult controller action. No need to change the response type etc..