首页 > 其他分享 >json序列化数据超出最大值(maxJsonLength)

json序列化数据超出最大值(maxJsonLength)

时间:2023-10-21 11:36:12浏览次数:37  
标签:maxJsonLength MaxJsonLength json new JavaScriptSerializer 序列化 serializer

https://www.cnblogs.com/ellafive/p/13704301.html

 

1、序列化:

以下代码在对象过大时会报错:进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。

//jsonObj比较大的时候会报错
var serializer = new JavaScriptSerializer();
return serializer.Serialize(jsonObj);
使用Newtonsoft.Json也有此问题,解决方案是设置MaxJsonLength:

var serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue; //设置为int的最大值
return serializer.Serialize(jsonObj);
2、ajax访问WebService:

以jQuery方式访问WebService,如果POST的数据过大,也会收到HTTP500错误,解决方法是在Web.config中设置一下maxJsonLength:

<system.web.extensions>

//访问调用方法

JavaScriptSerializer serializer = new JavaScriptSerializer();

             ScriptingJsonSerializationSection section = ConfigurationManager.GetSection("system.web.extensions/scripting/webServices/jsonSerialization") as ScriptingJsonSerializationSection;
        
             if (section != null)
             {
                 serializer.MaxJsonLength = section.MaxJsonLength;
                serializer.RecursionLimit = section.RecursionLimit;
            }

问题解决了,但是小编还是觉得其中有疑问,就查询了更多帖子,发现一种更加完美的方式:

复制代码
public ActionResult GetLargeJsonResult()
{
return new ContentResult
{
Content = new JavaScriptSerializer { MaxJsonLength = Int32.MaxValue }.Serialize(listResult),
ContentType = "application/json"
};
}
复制代码
另外,发现一个讲解更加透彻的帖子,附上地址:http://www.cnblogs.com/artech/archive/2012/08/15/action-result-03.html

  分类: JSON

标签:maxJsonLength,MaxJsonLength,json,new,JavaScriptSerializer,序列化,serializer
From: https://www.cnblogs.com/chinasoft/p/17778676.html

相关文章

  • The JSON value of length n is too large and not supported
    https://github.com/dotnet/runtime/issues/39953 I'mreferringtothisissue #30746 thatwasclosedwithlimitof125MBstayingfixedopposedtobeingconfigurable.Itwasarguedthattherewouldbenocommoncaseshittingthe125MBlimit.Suchcases......
  • 使用.Net6中的System.Text.Json遇到几个常见问题及解决方案
    前言以前.NetCore是不内置JSON库的,所以大家都用Newtonsoft的JSON库,而且也确实挺好用的,不过既然官方出了标准库,那更方便更值得我们多用用,至少不用每次都nuget安装Newtonsoft.Json库了。不过日常开发使用中会有一些问题,本文记录一下解决方法,欢迎交流~字符编码问题默认的 System......
  • thinkPHP5.0返回的接口返回 json数据,用了json_encode不生效,却返回的却是text/html格
    如何让返回的数据完全是json1、用SoapUI来测试借口,Content-Type不是json,而是text/html;2、自己的接口,最后的数据用了json_encode,也是不管用的;3、用header来设置Content-Type也没有效果;4、而改框架的配置default_return_type为json,这也是不可取的,整站是网站需要返回的还是te......
  • MySql Json字段部分查询语法
    模糊匹配jsonObject字段select*fromtableNamewherecolumnName->'$.xx'like'%xx%'精确匹配jsonObject类型字段select*fromtableNamewherecolumnName->'$.xx'='xx'模糊匹配jsonArray字段select*fromtableNamewh......
  • postgresql【JSONB用法】
    //userNametypecode是我拿到数据结构出来的可以写固定值来测试;code字段为上面设置的唯一约束。如果code值没有变就是修改,否则就是新增INSERTINTO表名(username,type,code)VALUES('${userName}','${type}','${code}')ONCONFLICT9.6语法支持(code)DOUPDATE......
  • 序列化错误
    org.springframework.data.redis.serializer.SerializationException:Cannotserialize;nestedexceptionisorg.springframework.core.serializer.support.SerializationFailedException:FailedtoserializeobjectusingDefaultSerializer;nestedexceptionisjava.......
  • 大模型输出json格式-的写出json中的key,最好可以显式的写出json的全貌。
    大模型输出json格式读取方法小记|1.背景:让大模型对文章进行多标签多分类的打标,为了方便交互,采用json格式读取。笔者工作中使用3.5-turbo的接口,为了使gpt能够更好的工作,这里使用了CoT的方法:让gpt先输出线索步骤再输出判断结论。json格式如下:{cat1:0,cat2:1,….......
  • c#中string字符串转为json对象
    string转json//字符串转jsonpublicstaticvoidstrJson(){stringjsonText="{"shenzheng":"深圳","beijing":"北京","shanghai":[{"zj1":"zj11","zj2":"zj22"},"zjs"......
  • TypeError: Object of type 'Animal' is not JSON serializable/ 自定义对象 转json串
     importjsonclassAnimal(object):def__init__(self):self.name='tom'def__repr__(self):returnf'mynameis{self.name}&ilikeapple'd1={'county':'china','name':Ani......
  • response status is 404 /swagger/v1/swagger.json
      原因:配置Swagger处的信息错误导致本次是两处的版本配置不一致导致如下 解决:保持两处的版本一致,可以将前面的“V1”大写改成与后面一致的小写“v1”,也可两处都改为大写 ......