cherrypy.lib.jsontools模块

cherrypy.lib.jsontools.json_handler(*args, **kwargs)[源代码]
cherrypy.lib.jsontools.json_in(content_type=['application/json', 'text/javascript'], force=True, debug=False, processor=<function json_processor>)[源代码]

添加一个处理器来解析JSON请求实体:默认处理器将解析的数据放入request.json。

匹配给定内容类型的传入请求实体将从JSON反序列化为等效的Python,结果存储在cherrypy.request.json。“contentu type”参数可以是内容类型字符串或允许的内容类型字符串列表。

如果“force”参数为true(默认值),则不允许使用其他内容类型的实体;而是引发“415不支持的媒体类型”。

提供您自己的处理器来使用自定义解码器,或者以不同的方式处理解析的数据。可以通过tools.json_in.processor或decorator方法配置处理器。

请注意,反序列化程序要求客户端发送一个内容长度请求头,否则它将引发“411所需长度”。如果由于任何其他原因无法从JSON反序列化请求实体,则会引发“400错误请求:无效JSON文档”。

cherrypy.lib.jsontools.json_out(content_type='application/json', debug=False, handler=<function json_handler>)[源代码]

包装request.handler以将其输出序列化到JSON。设置内容类型。

如果给定的内容类型为“无”,则不设置内容类型响应头。

提供您自己的处理程序以使用自定义编码器。例如cherrypy.config ['tools.json_out.handler'] =<function>,或@json_out(handler=function)。

cherrypy.lib.jsontools.json_processor(entity)[源代码]

将application/json数据读取到request.json中。