使用JSON JavaScriptSerializer进行反序列化和序列化时报错,字符的长度超出了MaxJsonLength的长度
程序员文章站
2022-03-21 19:22:14
文章参考:https://www.cnblogs.com/wangfuyou/p/6046307.html 1.解决办法是在web.config增加如下节点到下
文章参考:https://www.cnblogs.com/wangfuyou/p/6046307.html
1.解决办法是在web.config增加如下节点到<configuration>下
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="1024000000" />
</webServices>
</scripting>
</system.web.extensions>
2.
1 RootObject ScriptDeserialize(string json) 2 { 3 //JSON 字符串的最大长度。 默认长度为 2097152 个字符,等同于 4 MB 的 Unicode 字符串数据。 4 //js.MaxJsonLength = 2097152; 5 js.MaxJsonLength = 10240000; 6 JavaScriptSerializer jsseria = new JavaScriptSerializer(); 7 jsseria.MaxJsonLength = Int32.MaxValue; 8 return js.Deserialize<RootObject>(json); 9 }
提示:不能直接修改json的大小,因为MVC框架内置的JsonResult代码中,在使用JavaScriptSerializer时,都是采用的默认值,没有从maxJsonLength读取值,即忽略了这个配置
所以我们要重写一下,覆盖原有的配置。