如何在Bottle中处理JSON请求?

时间:2010-10-30 10:50:27

标签: python json bottle

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

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

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

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

或者,因为我可以获取原始查询字符串(request.query_string),如何将查询字符串转换为原始JSON对象?

2 个答案:

答案 0 :(得分:22)

现在,由于瓶子 0.10 request.json已准备就绪:)

文件是here

答案 1 :(得分:18)

request.json MEMFILE_MAX限制。

如果请求数据大于MEMFILE_MAX

,则另一种方式有效
json.load(request.body)