【问题标题】:Error when using JSON JavaScriptSerializer "The length of the string exceeds the value set on the maxJsonLength property"使用 JSON JavaScriptSerializer 时出错“字符串的长度超过了 maxJsonLength 属性上设置的值”
【发布时间】:2015-07-29 22:38:42
【问题描述】:

我在我的 C# 代码中使用 JavascriptSerializer,我收到一个错误,字符串值超过 maxJSonLength。我的对象是从返回超过 50K 行的数据库数据表中填充的。我尝试在我的 App.Config 文件中更改 maxJsonLength 属性,但错误并没有消失。请帮忙

<system.web.extensions>
   <scripting>
       <webServices>
           <jsonSerialization maxJsonLength="5000000000"/>
       </webServices>
   </scripting>
</system.web.extensions>

以防万一,这是我的 C# 代码:

List<MyRecord> lst= ...;
string strJSON = new JavaScriptSerializer().Serialize(lst);

【问题讨论】:

  • 50k 行对于客户端来说似乎太多了。我建议您应用一些分页以获得更好的性能和更低的带宽:D。
  • 我该怎么做?你能给我一些例子吗?
  • var page = 1; var itemPerPage = 500; List pagedLst = lst.Skip(page).Take(itemPerPage).ToList(); string json = new JavascriptSerializer().Serialize(pagedLst);
  • 类似的东西。

标签: c# json


【解决方案1】:

maxJsonLength属性的类型是int,所以它的值不能超过Int32.MaxValue,也就是2147483644。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-06
    • 2015-03-27
    • 2012-08-06
    • 2013-05-26
    • 2015-05-30
    • 1970-01-01
    • 2018-04-25
    • 2017-08-31
    相关资源
    最近更新 更多