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 安卓工具栏   java接口VS API VS公共类   无法解析java。lang.ClassNotFoundException:在安卓 studio中找不到类“com.example.安卓.camera2basic.AutoFitTextureView”?   java等待线程正常完成   java在JTable中的prepareRenderer方法中编辑单元格数据是否可行?   java SessionNotCreatedException selenium webdriver   java Android Studio Gradle CreateProcess错误=2   java找不到适用于异常(int)的构造函数   javascript如何在不使用正则表达式的情况下检查输入是否为表情符号?   从JAVA运行ant时,JAVA_HOME变量不正确   long的java min值引发异常   java如何在这段代码中实现侦听器?   带有透明文本的java Android按钮   图像Java扫描仪问题(JFrame)   java模拟输入蒸汽似乎在Junit测试的第一次输入中就被吃掉了   压缩Java Deflater,现在和将来的结果相同(确定性)   java JTable getModel()。setValueAt从数组中删除第一个元素   java我有不同于编译器和计算器的价值   使用C#客户端调用基本身份验证java webservice   java相同类型的多个@Embedded字段在持久化后始终为空