Route 'controller/action' threw Exception System.InvalidOperationException: Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.

Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.


Solution

Set the MaxJsonLength property in web.config or controller as below.
<system.web.extensions>
  <scripting>
    <webServices>
      <jsonSerialization maxJsonLength="2147483644"/>
    </webServices>
  </scripting>
</system.web.extensions>
If it does not work then try to write like below.
public ActionResult ControllerAction()
{
  var jsonResult = Json(veryLargeCollection, JsonRequestBehavior.AllowGet);
  jsonResult.MaxJsonLength = int.MaxValue;
  return jsonResult;
}

If with above code still you are getting this error then use NewtonSoft.Json code.
public JsonResult ControllerAction()
        {
            var data= service.LoadData();
            var searializeddata = JsonConvert.SerializeObject(data);
            return Json(new { Success = true, Data = searializeddata }, JsonRequestBehavior.AllowGet);
        }

and in Script file use JSON.Parse method to get back object data as below.


In success function of call use

var data = JSON.Parse(data.Data);




Comments

Popular posts from this blog

Swagger for Azure functions: Undocumented TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body. Fixed.

Fixed: The required column was not present in the results of a 'FromSql' operation in asp.net core EF core

Severity Code Description Project File Line Suppression State Error Unable to resolve dependencies. 'Xamarin.Android.Support.Design 24.2.1' is not compatible with 'Xamarin.Forms 2.3.3.180 constraint: Xamarin.Android.Support.Design (= 23.3.0)'. 0