概述
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题
这个异常是在执行MVC中的JsonResult的时抛出的,根据异常 的Message得知是序列化的字符串超出了maxJsonLength的限制。并得知这个属性是由JavaScriptSerializer提供的,因 为MVC内置的JsonResult是用JavaScriptSerializer进行序列化的。在网上快速搜索了一下,碰到这个问题的不少,大部分 推荐的解决的方法都是在web.config中加入以下配置,设置maxJsonLength的长度即
1 <system.web.extensions>
2 <scripting>
3 <webServices>
4 <jsonSerialization maxJsonLength="102400"/>
5 </webServices>
6 </scripting>
7 </system.web.extensions>
然后根据需要改变maxJsonLength的大小
运行正常,但是问题依旧还在,而且不管maxJsonLength设置成多大都无效
没办法,只能继续搜索查找资料了。
原来MVC框架内置的JsonResult代码中,在使用JavaScriptSerializer时,都是采用的默认值,没有从maxJsonLength读取值,即忽略了这个配置。
最后在stackoverflow上找到了答案
在控制器中添加两个JsonResult,然后在需要返回大数据json的action调用,即用return LargeJson()代替return Json()
public JsonResult LargeJson(object data)
{
return new System.Web.Mvc.JsonResult()
{
Data = data,
MaxJsonLength = Int32.MaxValue,
};
}
public JsonResult LargeJson(object data,JsonRequestBehavior behavior)
{
return new System.Web.Mvc.JsonResult()
{
Data = data,
JsonRequestBehavior = behavior,
MaxJsonLength = Int32.MaxValue
};
}
转载于:https://www.cnblogs.com/LowKeyCXY/p/11060063.html
最后
以上就是传统御姐为你收集整理的关于大JSON 的问题的解决方式ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题的全部内容,希望文章能够帮你解决关于大JSON 的问题的解决方式ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复