json序列化数据超出最⼤值(maxJsonLength)
1、序列化:
以下代码在对象过⼤时会报错:进⾏序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。
1. //jsonObj⽐较⼤的时候会报错
2. var serializer = new JavaScriptSerializer();
3. return serializer.Serialize(jsonObj);
使⽤Newtonsoft.Json也有此问题,解决⽅案是设置MaxJsonLength:
1. var serializer = new JavaScriptSerializer();
2. serializer.MaxJsonLength = Int32.MaxValue; //设置为int的最⼤值
3. return serializer.Serialize(jsonObj);
2、ajax访问WebService:
以jQuery⽅式访问WebService,如果POST的数据过⼤,也会收到HTTP500错误,解决⽅法是在fig中设置⼀下maxJsonLength:
1. <sions>
2. <scripting>
3. <webServices>
4. <!--单位为字节-->
5. <jsonSerializationmaxJsonLength="1024000"/>
6. </webServices>
7. </scripting>
8. </sions>
//访问调⽤⽅法
JavaScriptSerializer serializer = new JavaScriptSerializer();
32
33                ScriptingJsonSerializationSection section =
ConfigurationManager.GetSection("sions/scripting/webServices/jsonSerialization") as ScriptingJsonSerializationSection;
34字符串长度web
35                if (section != null)
36                {
37                    serializer.MaxJsonLength = section.MaxJsonLength;
38                    serializer.RecursionLimit = section.RecursionLimit;
39                }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。