StarletteWeb框架的自定义json序列化程序。

starlette-json的Python项目详细描述


Starlette Json

简介

针对python社区中可用的各种json序列化程序的Starlette json响应。在

为什么:

  • 从核心starlette包中删除ujson依赖项
  • 为其他序列化程序添加适配器
  • 自定义序列化程序呈现设置

要求

安装

$ pip install starlette-json

可选安装

至少安装其中一个:

使用

响应示例

^{pr2}$

自定义响应呈现选项:

有关可用选项,请参阅特定json序列化程序的文档

fromstarlette.applicationsimportStarlettefromstarlette_jsonimportORJsonResponse,UJsonResponse,RapidJsonResponseimportorjsonapp=Starlette()data={'Hello':'World'}@app.route('/orjson')deforjson(request):returnORJsonResponse(data,default=lambdax:str(x),option=orjson.OPT_STRICT_INTEGER|orjson.OPT_NAIVE_UTC)@app.route('/ujson')defujson(request):returnUJsonResponse(data,encode_html_chars=True,ensure_ascii=False,escape_forward_slashes=False)@app.route('/rapidjson')defrapidjson(request):returnRapidJsonResponse(data,sort_keys=True,indent=4)@app.route('/simplejson')defrapidjson(request):returnSimpleJsonResponse(data,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True)

Json请求正文解析:

fromstarlette.applicationsimportStarlettefromstarlette_jsonimportORJsonMiddleware,ORJsonResponseapp=Starlette()app.add_middleware(ORJsonMiddleware)@app.route('/orjson')deforjson(request):body=awaitrequest.json()# Parsed with orjsonreturnORJsonResponse({'message':'ok'})

贡献

非常欢迎。 CONTRIBUTING.md

待办事项

  • 测试?在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java 401在API URL上带有声明性Http客户端,并带有@Secured(SecurityRule.IS_ANONYMOUS)注释   java如何在Android中创建计时器?   Java8WebStart安全弹出窗口   java会通过以下两种方式导致堆空间耗尽吗?   java项目调度GA:染色体的高效数据结构   java Apache POI:如何在Excel文件中插入列   java在JRE系统库中每个jar扮演什么角色   java如何在抽象类中执行@mock(不是注入mock)   java如何使用opensearch和Lucene发送搜索查询?   java在ApachePOI中处理空列   java广播接收器未接收到目标   java错误ELF类:ELF类64(可能原因:体系结构字宽不匹配)   java调用Web服务(SSL)时出错   用于iot集线器设备固件更新的java Rest API   通过xslt将xml转换为文本文件时引发java异常   Java linux打印问题   Java XML转换器重复行   java从另一个类的方法将数组导入mainActivity类   多线程选择与Java交互的线程   我想在java程序中打印以下格式的文件: