python json()是什么函数_Sanic response json() 函数用法和示例

response.json() 功能:Sanic 返回json格式的文本内容给浏览器,这个json数据格式多用于网页异步加载AJAX的后端接口,或者是实现API与http客户端进行数据交换。

ft-sanic-response-json.png

response.json() 语法

def json(

body,

status=200,

headers=None,

content_type="application/json",

dumps=json_dumps,

**kwargs

):

response.json() 参数

body:响应要返回的JSON数据,通常是一个字典;

status:默认 http 状态码200,正常返回不要修改;

headers:自定义 http 响应头;

content_type:纯文本的content type,不要修改;

dumps:把json数据(字典)dumps为字符串的函数;

kwargs:dumps函数的参数;

这里面,body是必需的参数,可以通过传入headers来自定义响应头,content_type参数不要修改。如果响应自己的dumps函数可以为设置dumps参数。

如果想修改默认的dumps函数的参数,可以传值给kwargs,比如,eunsure_ascii=False,indent=4等等,更多参数详见Python的json模块的json.dumps()函数。

比如,自定义响应头headers:

return json({'msg':'Welcom to 猿人学Python'},

headers={'X-Serverd-By': 'YuanRenXue Python'})

response.json() 返回值

返回一个HTTPResponse类的实例。多数情况下,路由函数直接返回这个实例。当需要再进一步处理响应(比如,设置响应cookies)时,要把它赋值给一个变量。

response.json() 例子

from sanic import Sanic

from sanic import response

app = Sanic()

@app.route('/json')

async def json(request):

return response.json(

{'msg': 'Welcom to 猿人学Python'},

headers={'X-Serverd-By': 'YuanRenXue Python'},

ensure_ascii=False,

indent=4,

)

if __name__ == '__main__':

app.run(host='127.0.0.1', port=8888)

通过curl来查看json响应:

curl -i http://127.0.0.1:8888/json

结果如下,可以看到我们自定义的headersX-Serverd-By: YuanRenXue Python:

HTTP/1.1 200 OK

Connection: keep-alive

Keep-Alive: 5

X-Serverd-By: YuanRenXue Python

Content-Length: 41

Content-Type: application/json

{

"msg":"Welcom to 猿人学Python"

}

yrx_banner_pic.jpg

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.com 原创,没有猿人学授权,请勿以任何形式转载。***

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值