In ASP.NET MVC 3, which is more correct to use: Json()
or new JsonResult()
? Either returns the same result. Thanks for helping solve an office debate.

- 52,944
- 13
- 125
- 111

- 153
- 1
- 5
2 Answers
Json()
is just an extension method that actually returns a JsonResult
object behind the scenes (rather than needing to call the constructor directly).
I almost always use the Extension Method myself. This keeps more in line with the other common return types from Action Methods like View()
, PartialView()
, etc.
I also make sure to create an extension method for any custom ActionResult types that I create. In the end it's a matter of personal preference.

- 242,243
- 40
- 408
- 536
-
@BitFlipper both have been available since MVC 1 (http://msdn.microsoft.com/en-us/library/dd504936(v=VS.90).aspx ) – marcind Jul 20 '11 at 19:11
If you a returning a large dataset as a data source for grid or other UI controls via Ajax, sometimes if this dataset is over 1000 records UI controls will not bind because of maximum Json length is not specified.
So instead of
return Json(data)
,
you can do this: return new JsonResult(Data = data, MaxJsonLength = 50000);
-
Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – jasie Sep 07 '22 at 07:22