ASP.NET MVC4 Error during serialization or deserialization JSON - big data

asp.net-mvc-4, c#, json, jsonserializer, large-data

Solution

It seems that value from `web.config` is ignored, and according to documentation you have to explicitly create an instance of `JavascriptSerializer`

public ContentResult GetResult() 
{
    var serializer = new JavaScriptSerializer();
    serializer.MaxJsonLength = Int32.MaxValue;
    var result = new ContentResult();
    result.Content = serializer.Serialize(data);
    result.ContentType = "text/json";
    return result;
}

At least it works for me :)

Problem

I am writing to you with an error in website: Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property. Used technologies: C #,. NET FW 4.5, ASP.NET MVC4 and Lint to SQL, Kendo UI (grid for show result). I would like to return (in terms of Json) a large set of data - actually I have 50,000 records (more than 250,000 records would not occur) I try enlarge maxJsonLength and future enable compression in web.config - with same error: ``` <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="10485760"/> </webServices> <scriptResourceHandler enableCompression="true" enableCaching="true"/> </scripting> </system.web.extensions> ``` Next I try rewrite return method in C# class - with same error: a) default ``` public JsonResult GetResult() { // execute query for get result var myBigData = from ...... select new { ....... }; // return result return this.Json(myBigData, JsonRequestBehavior.AllowGet); } ``` b) rewriten (still error) ``` public JsonResult GetResult() { // execute query for get result var myBigData = from ...... select new { ....... }; // return result var jsonResult = Json(myBigData, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return jsonResult; } ``` To eliminate the mistakes I tried a smaller number of data - all is right: Test which is correct: 1 - 10 of 6999 items Best regards, Peter Note: Unfortunately, I went through a lot of discussion (here), but without success, so I apologize for any duplicate topic.

Original source

Related problems