当前位置 博文首页 > 浮若星光的博客:json序列化数据超出最大值(maxJsonLength)

    浮若星光的博客:json序列化数据超出最大值(maxJsonLength)

    作者:[db:作者] 时间:2021-06-26 15:39

    在这里插入图片描述
    错误原因:字符串的长度超过了为 maxJsonLength 属性设置的值。
    解决方法:添加引用 System.Web.Extensions,然后在对应的控制器上方添加命名空间:using System.Web.Script.Serialization。然后在要返回页面的数据后面new一个JavaScriptSerializer来初始化不具有类型解析程序的 System.Web.Script.Serialization.JavaScriptSerializer 类的新实例。然后利用JavaScriptSerializer中的MaxJsonLength获取或设置 System.Web.Script.Serialization.JavaScriptSerializer 类接受的 JSON 字符串的最大长度。而MaxValue表示int的最大可能值(为2147483647)。最后在初始化一个ContentResult类的实例并设置其内容(Content)。Serialize:将对象转换为json对象格式。 内容类型(ContentType)为json类型。

    var serializer = new JavaScriptSerializer();          
    
                serializer.MaxJsonLength = Int32.MaxValue;     
                var result = new ContentResult
                {
                    Content = serializer.Serialize(data),      //data为要序列化的LINQ对象
                    ContentType = "application/json"
                };
                return result;