【问题标题】:How do I handle a JSON request in Bottle?如何在 Bottle 中处理 JSON 请求?
【发布时间】:2011-05-02 18:45:16
【问题描述】:

我需要从客户端获取由 Ajax 传输的 JSON 数据。基本上我使用了这样的东西:

@route('/ajax')
def serve_ajax():
    return main.parse_request(json.dumps(dict(request.GET)))

其中 main.parse_request 是一个函数,其中包含一些处理 JSON 中变量的逻辑(它是我们游戏引擎的主程序)。

所以问题是我无法通过在字典中转换request.GET 来正确处理 JSON 变量:因为以我已经写过的方式,我无法传递嵌套对象和数组。此外,每个值都有一个字符串类型,而我需要在整数上使用整数类型,在其他值上使用字符串类型。

或者,既然我可以得到原始查询字符串(通过request.query_string),那么如何将查询字符串转换为原始JSON对象?

【问题讨论】:

    标签: python json bottle


    【解决方案1】:

    现在因为瓶子 0.10request.json 可以使用了:)

    文档是here

    【讨论】:

      【解决方案2】:

      request.jsonMEMFILE_MAX 限制。

      如果请求数据大于 MEMFILE_MAX,另一种方法可行

      json.load(request.body)
      

      【讨论】:

      • 根据链接的文档:MEMFILE_MAX 是“以字节为单位的正文的最大内存缓冲区大小。”。所以约束仍然存在。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      相关资源
      最近更新 更多