Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The length of the string exceeds the value set on the maxJsonLength property

I am loading tab content data through jQuery's ajax post method via web method with around 200-300 records. And getting following error in the console:

Error: Sys.Net.WebServiceFailedException: Sys.Net.WebServiceFailedException: System.InvalidOperationException-- Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.

Changing the length of the maxJsonLength attribute in Web.config like this does not help.

<configuration>     <system.web.extensions>        <scripting>            <webServices>                <jsonSerialization maxJsonLength="2147483644" />            </webServices>        </scripting>    </system.web.extensions> </configuration> 

Can anyone help me solve this?

like image 979
swpnilprakashpatil Avatar asked Aug 09 '12 10:08

swpnilprakashpatil


People also ask

What is the max length of MaxJsonLength?

The maximum length of JSON strings. The default is 2097152 characters, which is equivalent to 4 MB of Unicode string data.

Can I set the unlimited length for MaxJsonLength property in config?

The MaxJsonLength property cannot be unlimited, is an integer property that defaults to 102400 (100k).


1 Answers

JavaScriptSerialzer has a public property named MaxJsonLength according to

http://msdn.microsoft.com/en-us/library/system.web.configuration.scriptingjsonserializationsection.maxjsonlength.aspx

Now, where you are deserializing your json, use this

JavaScriptSerializer serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue; //Or any size you want to use, basically int maxValue is 2GB, you shouldn't need this big json string to deserialize, else you are doing it wrong. myObject obj = serializer.Deserialize<myObject>(yourJsonString); 

And this should work perfectly, I recently figured this out through msdn and solved a problem that was bugging me for long.

like image 196
Taha Rehman Siddiqui Avatar answered Sep 28 '22 10:09

Taha Rehman Siddiqui