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?
The maximum length of JSON strings. The default is 2097152 characters, which is equivalent to 4 MB of Unicode string data.
The MaxJsonLength property cannot be unlimited, is an integer property that defaults to 102400 (100k).
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With