前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flask中的jsonify「建议收藏」

flask中的jsonify「建议收藏」

作者头像
全栈程序员站长
发布2022-08-31 19:17:44
3010
发布2022-08-31 19:17:44
举报

大家好,又见面了,我是你们的朋友全栈君。

示例代码

代码语言:javascript
复制
# -*- coding: utf-8 -*-
# @Time    : 2020/9/17 11:46 下午
# @Author  : renwoxing
# @File    : flask_restful_demo.py
# @Software: PyCharm

from flask import Flask, jsonify, abort, request

app = Flask(__name__)
books = [
    {
        'id': 1,
        'name': u'大学',
        'author': '张三',
        'price': 98
    },
    {
        'id': 2,
        'name': u'骆驼祥子',
        'author': '老舍',
        'price': 98
    }
]

@app.route("/bookstore/api/v1/books", methods=['GET'])
def get_books():
    return jsonify({'books': books})

if __name__ == '__main__':
    app.run(host="0.0.0.0", port="8000", debug=True)

上面中jsonify,有什么作用,都做了什么?好奇害死猫,就得花时间研究下!!!

  1. 根据函数说明:该函数在dumps函数上做了封装,变得更易用;
  2. 实际调用过程: jsonify调用下面的函数:
代码语言:javascript
复制
current_app.response_class(
        dumps(data, indent=indent, separators=separators) + "\n",
        mimetype=current_app.config["JSONIFY_MIMETYPE"],
    )

上面的dumps实际上是调用了itsdangerous 库json.dumps函数而已:

代码语言:javascript
复制
from itsdangerous import json as _json

    _dump_arg_defaults(kwargs, app=app)
    encoding = kwargs.pop("encoding", None)
    rv = _json.dumps(obj, **kwargs)
    if encoding is not None and isinstance(rv, text_type):
        rv = rv.encode(encoding)
    return rv

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142409.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档