使用JSON JavaScriptSerializer進行反序列化和序列化時報錯,字符的長度超出了MaxJsonLength的長度


       文章參考: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讀取值,即忽略了這個配置

所以我們要重寫一下,覆蓋原有的配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM