python - 如何使用 sanic API 返回浮点数(或整数)?
问题描述
我正在创建一个简单的 Sanic REST API,但无法弄清楚如何返回数字数据。查看文档后,您似乎只能返回json
, html
,text
等,但不能返回float
or int
。
我遵循文档中的基本示例,除了将返回切换为浮点数:
from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
return 1.1
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
但是,如果 return 语句是return json({"hello": "world"})
. 为什么我不能返回浮点数?我可以将其返回为return text(1.1)
,但是调用它的客户是否将其接收为 a str
(而不是 a float
)?
解决方案
只是 JSON 你的号码。
>>> import json
>>> s = json.dumps(543.34)
>>> s
'543.34'
>>> json.loads(s)
543.34
使用 Sanic:
from sanic import Sanic, response
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
return response.json(1.1)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
推荐阅读
- node.js - 无法使用 Hyperledger Fabric 在我的链代码 nodejs 项目上安装 fabric-shim
- javascript - 当用户使用js或ts点击地图时,我们如何转换azure地图语言?
- python - Django:将“选择”从另一个数据库传递到 MultipleChoiceField
- java - POST request body cannot contain chinese characters in Java
- opengl - OpenGL,片段着色器:没有这样的统一命名
- css - 如何仅在左侧和右侧获得框阴影
- sql-server - 如何在 SQL-Server 中创建具有两列的唯一键
- android - 如何在 android Studio 中为我的程序定义回调?
- python-3.x - Python - 回复电子邮件 win32com
- python - Django GraphQL 返回 null