热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于大JSON的问题的解决方式ASP.NETMVCJSON大数据异常提示JSON字符串超出限制的异常问题

今天客户突然过来找我说在后台添加了一篇超长的文章后,所有后台的文章都显示不出来了。后台的前端显示是用easyui的,返回的数据全是用json。根据客户的描述进行了同样的操作后,在f
今天客户突然过来找我说在后台添加了一篇超长的文章后,所有后台的文章都显示不出来了。后台的前端显示是用easyui的,返回的数据全是用json。根据客户的描述进行了同样的操作后,在firebug下发现ajax返回的异常 “序列化或JSON的JavascriptSerializer过程中出现错误。字符串的长度超过上maxJsonLength属性设置的值”

这个异常是在执行MVC中的JsonResult的时抛出的,根据异常 的Message得知是序列化的字符串超出了maxJsonLength的限制。并得知这个属性是由JavascriptSerializer提供的,因 为MVC内置的JsonResult是用JavascriptSerializer进行序列化的。在网上快速搜索了一下,碰到这个问题的不少,大部分 推荐的解决的方法都是在web.config中加入以下配置,设置maxJsonLength的长度即

关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题
1 
2        
7 
关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题

然后根据需要改变maxJsonLength的大小

运行正常,但是问题依旧还在,而且不管maxJsonLength设置成多大都无效

没办法,只能继续搜索查找资料了。

原来MVC框架内置的JsonResult代码中,在使用JavascriptSerializer时,都是采用的默认值,没有从maxJsonLength读取值,即忽略了这个配置。

最后在***上找到了答案

在控制器中添加两个JsonResult,然后在需要返回大数据json的action调用,即用return LargeJson()代替return Json()

关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示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
            };
}
关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题

这个异常是在执行MVC中的JsonResult的时抛出的,根据异常 的Message得知是序列化的字符串超出了maxJsonLength的限制。并得知这个属性是由JavascriptSerializer提供的,因 为MVC内置的JsonResult是用JavascriptSerializer进行序列化的。在网上快速搜索了一下,碰到这个问题的不少,大部分 推荐的解决的方法都是在web.config中加入以下配置,设置maxJsonLength的长度即

关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题
1 
2        
7 
关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题

然后根据需要改变maxJsonLength的大小

运行正常,但是问题依旧还在,而且不管maxJsonLength设置成多大都无效

没办法,只能继续搜索查找资料了。

原来MVC框架内置的JsonResult代码中,在使用JavascriptSerializer时,都是采用的默认值,没有从maxJsonLength读取值,即忽略了这个配置。

最后在***上找到了答案

在控制器中添加两个JsonResult,然后在需要返回大数据json的action调用,即用return LargeJson()代替return Json()

关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示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
            };
}
关于大JSON 的问题的解决方式
    


            
ASP.NET MVC JSON 大数据异常提示JSON 字符串超出限制的异常问题

推荐阅读
author-avatar
醣荳_448
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有