【问题标题】:JSON limitation?JSON 限制?
【发布时间】:2011-02-03 11:51:53
【问题描述】:

我想知道带有AJAX的JSON是否对传出和返回参数可以携带的数据量有限制?

我希望能够从服务器发送和返回一个包含 10,000 行的文件作为字符串。我应该如何完成这项任务?单个参数可以处理这个吗?

编辑: 我的客户端是 JavaScript,我的服务器是 PHP。

谢谢。

【问题讨论】:

    标签: php javascript ajax json


    【解决方案1】:

    JSON 本身并没有限制它可以传输的数据量,也没有限制它的递归深度。这取决于您的应用服务器。

    如果您将 JSONSerialization 与 C# 一起使用,则数据量的限制设置得非常低。您可以通过将以下代码 sn-p 放入您的 Web.config 来覆盖它。

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

    如果可以避免的话,您可能不想通过 AJAX 发送大约 10 000 行(将其分解为较小的请求或使用分页)。

    【讨论】:

      【解决方案2】:

      Similar question

      JSON 类似于 XML 等其他数据格式 - 如果您需要传输更多数据,您只需发送更多数据。整个 JSON 请求本身没有固有的大小限制。任何限制都将由解析 JSON 请求的服务器设置。 (例如,ASP.NET 具有序列化程序的“MaxJsonLength”属性。)

      【讨论】:

        【解决方案3】:

        HTTP POST 请求没有(合理的)大小限制。

        但是,如果您发布超过 100MB 的数据,它就不太可能可靠地工作。

        【讨论】:

          【解决方案4】:

          您应该将字符串分解为位并执行多个 ajax 请求,直到字符串完成。继续将字符串位临时附加到文件中,然后在请求完成后将文件内容放入数据库中。

          【讨论】:

          • 听起来你以前做过这样的事情,你能推荐每个请求的大小吗?我的文件有 10,000 行长,每行包含约 150 个字符。 (我正在使用 javascript 和 php)
          • 对我来说,我总是将每个请求保持在 1mb 以下。
          • 1mb?即使发送参数为 1mb 的请求?
          【解决方案5】:

          我认为 Json 最大的弱点是语义。

          否则,如果您使用 HttpPost,则没有任何限制。当然,为了更好的用户体验,请保持简单和少。

          更多:http://blogs.oracle.com/bblfish/entry/the_limitations_of_json

          【讨论】:

            猜你喜欢
            • 2015-11-22
            • 1970-01-01
            • 2020-11-04
            • 2014-10-23
            • 2013-03-17
            • 2016-07-20
            • 1970-01-01
            • 2012-02-25
            • 2019-05-01
            相关资源
            最近更新 更多