How to fix 'Error during serialization or deserialization using the JSON JavaScriptSerializer'

By FoxLearn 2/18/2024 1:14:10 AM   92
This post shows you how to fix 'Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property'.

As you know, JsonResult has the MaxJsonLength property, which represents the maximum length of data possible in a JSON response.

To solve the problem you can modify your code as the following.

public JsonResult Test()
{
    string base64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(Server.MapPath("~/images/csharp.jpg")));
    return Json(base64);
}

The base64 length of the image file used in this example exceeds the default value of the MaxJsonLength property that throws your exception.

You can also override the default JsonResult as shown below.

public JsonResult Test()
{
    string base64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(Server.MapPath("~/images/csharp.jpg")));
    return new JsonResult
    {
        Data = base64,
        MaxJsonLength = int.MaxValue //set the maximum length of data
    };
}