Python Flask中的jsonify

Python Flask中的jsonify#-*-coding:utf-8-*-#@Time:2022/4/1311:46下午#@Author:renwoxing#@File:flask_restful_demo.py#@Software:PyCharmfromflaskimportFlask,jsonify,abort,requestapp=Flask(__name__)books=[{‘id’:1,’name’.

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

# -*- coding: utf-8 -*-
# @Time    : 2022/4/13 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)
  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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142593.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Okio基本使用以及源码分析

    Okio基本使用以及源码分析Okio是什么在OkHttp的源码中经常能看到Okio的身影,所以单独拿出来学习一下,作为OkHttp的低层IO库,Okio确实比传统的java输入输出流读写更加方便高效。Okio补充了java.io和java.nio的不足,使访问、存储和处理数据更加容易,它起初只是作为OKHttp的一个组件,现在你可以独立的使用它来解决一些IO问题。先看下okio库中类之间的关系:okio中最关键的是对于缓存队列的管理,这些优化操作使得okio在复制数据的时候可以减少拷贝次数,来看下okio中数据保存的数据结构是

  • python常用模块大全_python进阶路线

    python常用模块大全_python进阶路线mathmath.ceil(a):用来返回≥a的最小整数math.floor(a):用来返回≤a的最大整数round(a[,b])如果没有参数b,只有a,round()作用是四舍五入如果

  • Java常用的输入输出语句「建议收藏」

    Java常用的输入输出语句「建议收藏」对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法首先输出大家最熟悉的莫过于输出方法,直接用System.out.println()或者System.out.print()了下面一个实例1234567publicclassMain{    publicstaticvoidmain(Str…

  • FastCGI的认识与使用[通俗易懂]

    FastCGI的认识与使用[通俗易懂]01.CGI1.1什么是CGI通用网关接口(CommonGatewayInterface、CGI)描述了客户端和服务器程序之间传输数据的一种标准,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI独立于任何语言的,CGI程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行。Unixshellscript、Python、Ruby、…

  • .net 平台常用控件

    .net 平台常用控件分布式缓存框架:MicrosoftVelocity:微软自家分布式缓存服务框架。Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。Redis:是一个高性能的K

  • GEE平台 landsat8影像全波段下载

    GEE平台 landsat8影像全波段下载//选择Landsat8SR数据集varl8=ee.ImageCollection(“LANDSAT/LC08/C01/T1_SR”)Map.centerObject(roi,8);//Landsat8SR数据去云functionrmL8Cloud(image){varcloudShadowBitMask=(1<<3);varcloudsBitMask=(1<<5);varqa=imag…

发表回复

您的电子邮箱地址不会被公开。

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