Flask使用json或jsonify返回响应的数据

article/2025/9/12 11:20:07

前言

在做网站前后端数据交互的时候,我们经常需要使用Ajax等方法向后端发送请求来获取响应的数据,而我们经常需要的就是json格式的响应数据,它实际上就是一个字符串。要知道Flask如何返回json响应数据,首先就需要知道如何将字典dict转化为json字符串。

使用json库dict和json字符串的转化

import json
def dict_to_json():data = {"name": "mjl", "pwd": "123456"}print(type(data)) #dict# 将dict转为json字符串res = json.dumps(data)print(type(res))  # str  '{"name": "mjl", "pwd": "123456"}'# 将json字符串转为dictrec = json.loads(res)print(type(res))  # dict {'name': 'mjl', 'pwd': '123456'}

使用json库返回json响应数据

@app.route('/test1', methods=["GET", "POST"])
def test1():data = {"name": "mjl","age": 21,}res_json = json.dumps(data)return res_json

浏览器请求如下:

结论

数据结果正确返回,如果单纯直接返回响应消息,Content-Type:text/html 是不正确的,应该改为application/json 才对。

解决

设置响应消息的headers,比较麻烦

# return 响应体, 状态码, 响应头return res_json, 200, {"Content-Type":"application/json"}

使用jsonify返回json响应数据(推荐使用)

from flask import jsonify
@app.route('/test2', methods=["GET", "POST"])
def test2():data = {"name": "mjl","age": 21,}return jsonify(data)

浏览器请求如下:

结论

jsonify可以正确且简单的返回响应数据。

jsonify不单单可以将dict转为json响应数据,还可以直接往里面写参数值

@app.route('/test3', methods=["GET", "POST"])
def test3():return jsonify(name='mjl',age=21)

http://chatgpt.dhexx.cn/article/e4J1Q9Kb.shtml

相关文章

Flask 学习-8. jsonify返回中文没正常显示问题

前言 Flask 接口返回的json 格式数据有中文的时候,默认是以ASCII码 返回的,没正常显示中文。 jsonify 返回 json 数据 函数直接返回dict 数据 或返回jsonfy() 函数处理的数据,都是以json格式返回的 from flask import Flask, jsonify fro…

flask jsonify之序列化时的default函数、jsonify序列化自定义对象

目录 1.看源码 2、重写默认的default函数,实现自己的序列化机制 3、把对象转化成字典 3.1 __dict__的方式 3.2、定义keys和__getitem__的方式 4、最终的代码实现 5、关于default函数的其他知识 1.看源码 打开site-package,flask,json…

Flask | 解决jsonify返回中文乱码问题

在采用 return jsonify(data) 返回内容中含有中文时,前端接收数据出现中文乱码问题,乱码格式如下(仅中文为ASCII码): 故在此记录下该问题的解决方式,以作后期参考: 在定义Flask app时&#xff…

jsonify返回中文编码的问题

app.config[JSON_AS_ASCII]Flase 在它下面加上上面的代码就欧克了 没加之前或者为True: 加了之后:

flask学习二(jsonify)

示例一: 实现动态路由,代码如下 # coding:utf-8 from flask import Flask from flask import jsonify # 创建对象 app Flask(__name__)users_list {"1001":["123","张三",19],"1002":["234","…

flask中jsonify和json区别

一 JSON数据结构 要把json与字典区分开来 dumps(字典转换成Json) loads(Json转换成字典) Python 的字典是一种数据结构,JSON 是一种数据格式。 json 就是一个根据某种约定格式编写的纯字符串,不具备任何数据结构的特征。而 python 的字典…

关于flask入门教程-记录集转jsonify

Flask 框架里,可以用 jsonify 返回 json 数据,但是为什么不用 Python 自带的 json 模块返回 JSON 数据呢? 其实两者是差不多的,jsonify指明了Content-Type 是 application/json , 这样做是符合 HTTP 协议的规定的&…

Flask 的 jsonify 理解

文章目录 python 代码解决原因Content-Type的区别 python 代码 # -*- coding:utf-8 -*- from flask import Flask, jsonifyapp Flask(__name__)urls [{id: 1,title: python,description: https://www.python.org/},{id: 2,title: flask,description: https://flask.palletsp…

Flask中jsonify和json.dumps用法以及区别(简单案例)

环境:python3.6, Flask1.0.3 flask提供了jsonify函数供用户处理返回的序列化json数据, 而python自带的json库中也有dumps方法可以序列化json对象. 其二者的区别,写个简单的案例实测一下便见分晓。 from flask import Flask from flask im…

const常量函数详解

在类中,如果你不希望某些数据被修改,可以使用const关键字加以限定。const 可以用来修饰成员变量和成员函数。 const常量与指针 const int *p1与const int *p2的顺序不同,但是他们指向的值都不能改变,上述代码说明虽然指向的值不能…

C++const函数的运用:深度解析const函数的魅力

C 深度解析const函数的魅力 1. C const函数的基本概念(Basic Concepts of const Functions in C)1.1 const函数的定义与特性(Definition and Characteristics of const Functions)1.2 const函数的使用场景(Usage Scena…

const 用法

const 用法 const 修饰变量,这个变量被称为常变量,不能被修改,但本质上还是一个变量 #通过指针改变num的值 int main() {int num 10;int* p #*p 20;printf("%d ", num);return 0; }#这里num被 const修饰本来不能被修改…

const成员函数

const成员函数 const修饰成员函数的时候,const需要放在成员函数的后面,不能放在一开始,如果放在一开始的话,那么const其实是在修饰成员函数的返回值,而不是在修饰成员函数了 const成员函数中不能修改成员变量 普通成员…

const函数

const是衡量一个程序员是否老道的一个标准,除了修饰变量之外,还可以修饰函数,主要有以下几种形式 const int& fun(int& a); //修饰返回值 int& fun(const int& a); //修饰形参 int& fun(int& a) const{} //const成员…

梳理c++ const 修饰函数

const是衡量一个程序员是否老道的一个标准,除了修饰变量之外,还可以修饰函数,主要有以下几种形式 const int& fun(int& a); //修饰返回值 int& fun(const int& a); //修饰形参 int& fun(int& a) const{} //const成员…

C++基础——const成员函数

目录 一.Const成员函数 1.定义: 2.格式: 3.代码示例: .h文件: definition.cpp文件 特性: 例: 那么const对象既可以调用非const型成员函数吗? 问题3.const成员函数内可以调用其它…

JAVA输入/输出流详细讲解

应用程序经常需要访问文件和目录,读取文件信息或写入信息到文件,即从外界输入数据或者向外界传输数据,这些数据可以保存在磁盘文件、内存或其他程序中。在Java中,对这些数据的操作是通过I/O技术来实现的。所谓I/O技术,…

java输出语句_java输入输出语句是什么

在java中,输入语句为“Scanner对象.next()系列方法”,例“Scanner对象.nextLine()”表示输入字符串;输出语句为“System.out.println()”、“System.out.print()”等。 对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,…

Java输入输出处理

活动地址:CSDN21天学习挑战赛 🍁博客主页:👉不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉21天挑战回顾java ✨知足上进,不负野心。 &am…

java 输入输出总结(牛客、笔试、机试)

因为踩过坑,所以特别整理了一下,发现其实不少小伙伴同样都是这样,特别简单小结一下,java网上笔试的时候OJ的一些要求的实例 1 单行输入 // 本题为考试单行多行输入输出规范示例,无需提交,不计分。 import j…