Hi,
I write a driver that request API calls, and the response is long.
Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property. Parameter name: input
Is there a way to still get the API call ? Like set max_length = 999999?
i cant split the call its only 1 call.
Hi Ömer,
It's indeed possible to increase the maxLength of the JavaScriptSerializer.
Example:
var serializer = new JavaScriptSerializer
{
MaxJsonLength = Int32.MaxValue // Set maxJsonLength to a higher value
};
var deserializedObject = serializer.Deserialize<LargeObject>(jsonString);
Another option would be to use the Newtonsoft.Json library (also available on the NuGet store).
using Newtonsoft.Json;
var deserializedObject = JsonConvert.DeserializeObject<LargeObject>(jsonString);
Hello Omer,
The ‘maxJsonLength’ property is of type int. Which means that it is a 32-bit signed integer and the highest value you can assign to these types is 2147483647
Hi Ömer,
In this case it might be better to start using the Newtonsoft.Json library instead of the JavascriptSerializer as it doesn’t directly have a maximum JSON length setting. The limiting factor will be the available system memory.
The Newtonsoft.Json library is more widely used, flexible and has better performance.
To start using a NuGet in your connector or automation script, the following link contains an guide on how to include the Newtonsoft lib:
https://learn.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio#add-the-newtonsoftjson-nuget-package
Thank you, It’s worked for me to use the Newtonsoft.Json library.
thanks you but sadly its still to big for it.
its possible if i just write a large number like :
9999999999 ?