flask中的jsonify「建议收藏」

flask中的jsonify「建议收藏」示例代码#-*-coding:utf-8-*-#@Time:2020/9/1711:46下午#@Author:renwoxing#@File:flask_restful_demo.py#@Software:PyCharmfromflaskimportFlask,jsonify,abort,requestapp=Flask(__name__)books=[{‘id’:1,’n

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

示例代码

# -*- 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调用下面的函数:
current_app.response_class(
        dumps(data, indent=indent, separators=separators) + "\n",
        mimetype=current_app.config["JSONIFY_MIMETYPE"],
    )

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

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.net/142409.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月23日 下午8:00
下一篇 2022年5月23日 下午8:20


相关推荐

  • Linux 用户切换、修改用户名、修改密码

    Linux 用户切换、修改用户名、修改密码

    2021年10月23日
    46
  • web报表开发技术专题一:序号问题

    web报表开发技术专题一:序号问题近期因为专注于用 c 实现 web 报表 积累了一些经验和心得 也写过一篇介绍文章 也有网友提出没有说清楚 现觉得想用单篇文章来说明 web 报表开发难免会大而空 落不到实处 因而便想到每篇文章只关注 web 报表开发中一方面 由多篇文章而形成一个 web 报表开发的系列文章 这些 web 报表开发的系列文章无先后次序 主从之分 每篇文章只是以一种视角来看待 web 报表开发而已 大家可以只选自己感兴趣的部分来看 这样也

    2026年3月17日
    1
  • 深度:国产FPGA研究框架

    深度:国产FPGA研究框架AI 芯片主要分为 CPU GPU FPGA 以及 ASIC 其中以 CPU GPU FPGA ASIC 的顺序 通用性逐渐减低 但运算效率逐步提高 FPGA 作为专用集成电路领域中的一种半定制电路而出现的 既解决了定制电路的不足 又克服了原有可编程器件门电路数有限的缺点 FPGA 主要应用在 AI 自动驾驶 5G 通信 工业物联网 数据中心 5 个方面 FPGA 具有可重构 可定制的优势 成本低于完全定制化的 ASIC 但比通用型产品拥有更大的并行度

    2026年3月26日
    2
  • Web聊天工具

    Web聊天工具8款开源聊天系统和程序,包含聊天程序,或是搭建你自己的聊天室系统。来源于:http://parandroid.com/8-open-source-chat/ MOHAChat http://mohachat.org/MOHAChat是一个客户端采用Ajax技术,服务端基于PHP与MySQL的点对点聊天系统。类似于GTalk。 phpFreeChat http://www.p

    2022年6月15日
    64
  • oracle function详解,Oracle函数用法详解「建议收藏」

    oracle function详解,Oracle函数用法详解「建议收藏」本文概述函数是用于返回单个值的子程序。你必须在调用函数之前声明并定义一个函数。它可以在同一时间声明和定义,也可以在同一块中先声明然后定义。在Oracle中创建函数句法CREATE[ORREPLACE]FUNCTIONfunction_name[(parameter[,parameter])]RETURNreturn_datatypeIS|AS[declaration_sec…

    2025年8月31日
    7
  • 讯飞星火xDeepSeek双大模型合体!讯飞智能办公本X3新功能首秀!

    讯飞星火xDeepSeek双大模型合体!讯飞智能办公本X3新功能首秀!

    2026年3月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号