Python 如何使用sanic API返回浮点(或int)?

Python 如何使用sanic API返回浮点(或int)?,python,python-3.x,sanic,Python,Python 3.x,Sanic,我正在创建一个简单的Sanic REST API,但无法确定如何返回数字数据。查看后,似乎只能返回json、html、text等,但不能返回float或int 我遵循文档中的基本示例,只是将返回切换为浮动: from sanic import Sanic from sanic.response import json app = Sanic() @app.route("/") async def test(request): return 1.1 if __name__ == "_

我正在创建一个简单的Sanic REST API,但无法确定如何返回数字数据。查看后,似乎只能返回
json
html
text
等,但不能返回
float
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语句是
returnjson({“hello”:“world”})
,它就可以完美地工作。为什么我不能退回浮点数?我可以将其返回为
returntext(1.1)
,但是调用它的客户端是否会将其作为
str
(而不是
float
)接收?

只是您的号码

导入json >>>s=json.dumps(543.34) >>> '543.34' >>>json.load(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)

如果您想返回
json.dumps()
,那么用户仍然会将其作为json接收。我可以把它作为浮点发送吗?你使用的是HTTP,不是超浮点传输协议