Controller.Json Method (Object, String, Encoding)

Creates a JSonResult object that serializes the specified object to JSON.

Namespace:  System.Web.Mvc
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)

protected internal virtual JsonResult Json(
	Object data,
	string contentType,
	Encoding contentEncoding


Type: System.Object
The JavaScript object graph to serialize.
Type: System.String
The content type (MIME type).
Type: System.Text.Encoding
The content encoding.

Return Value

Type: System.Web.Mvc.JsonResult
The JSON result object that serializes the specified object to JSON.

The data parameter must be serializable. The JavaScriptSerializer class is used to serialize the object. The result object that is prepared by this method is written to the response by the MVC framework when the object is executed.

The following example shows how to send JSON-formatted data to the browser.

IEnumerable<string> GetDateRangeStr(DateTime start, DateTime endD) {
    while (start <= endD) {
        yield return start.ToShortDateString();
        start = start.AddDays(1);

public ActionResult TestJsonContentEnc() {
    return View("TestJson");

public ActionResult TestJsonContentEnc(int numDays) {

    return Json(GetDateRangeStr(DateTime.Now,