python和flask中返回JSON数据的方法
作者:designer_mtb 发布时间:2023-07-31 02:43:17
标签:python,flask,返回,json
在python中可以使用json将数据格式化为JSON格式:
1.将字典转换成JSON数据格式:
s=['张三','年龄','姓名']
t={}
t['data']=s
return json.dumps(t,ensure_ascii=False)
2.将列表转换成JSON数据格式:
s=['张三','年龄','姓名']
return json.dumps(s,ensure_ascii=False)
使用json转换的在前端显示的数据为JSON字符串。
使用flask的jsonify转换后,在前台显示的为JSON对象:
s=['张三','年龄','姓名']
return jsonify(s)
s=['张三','年龄','姓名']
t={}
t['data']=s
return jsonify(t)
需要返回多条记录时:
s=['张三','年龄','姓名']
t={}
for num in range(1,5):
t[str(num)]=s
return jsonify(t)
或者:
s=['张三','年龄','姓名']
t={}
for num in range(1,5):
t[str(num)]=s
data={}
data['SUCCESS']='SUCCESS'
data['data']=t
return jsonify(data)
json也可以:
s=['张三','年龄','姓名']
t={}
for num in range(1,5):
t[str(num)]=s
data={}
data['SUCCESS']='SUCCESS'
data['data']=t
return json.dumps(data,ensure_ascii=False)
对于python的类转JSON,首先在模型文件中导入:
from sqlalchemy.orm import class_mapper
在模型类中加入一个方法:
def as_dict(obj):
# return {c.name: getattr(self, c.name) for c in self.__table__.columns}
#上面的有缺陷,表字段和属性不一致会有问题
return dict((col.name, getattr(obj, col.name)) \
for col in class_mapper(obj.__class__).mapped_table.c)
调用:
users=User.query.all();
dict={}
for i in users:
dict[repr(i.id)]=i.as_dict()
前端显示:
使用flask+SQLAchemy这个ORM时,定义的模型类不能使用
json.dumps(user, default=lambda o: o.__dict__, sort_keys=True, indent=4)
这种方式格式化。
使用
user.__dict__.keys()获取的属性会多出一个属性。
在python中定义的一般类,如:
class Test(object):
def __init__(self,name,age):
self.name=name
self.age=age
python中的普通类可以直接格式化:
test=Test('张三',21)
print(json.dumps(test,default=lambda o: o.__dict__,sort_keys=True, indent=4,ensure_ascii=False))
来源:https://blog.csdn.net/matengbing/article/details/78653591
0
投稿
猜你喜欢
- vscode安装python库1.已经在vscode中装了python并配置好python运行环境。检查是否正确配置好运行环境,按Windo
- 作者:AngelGavin 出处:CSDNInternet Explorer 5.0 对 XML 提供哪个级别的支持?Inter
- 许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。Python流行的部分原因在于
- 本文实例为大家分享了python3.5 email发送邮件的具体代码,供大家参考,具体内容如下直接套用代码即可from email.mime
- 在数据库中,字符型的数据是最多的,可以占到整个数据库的80%以上。为此正确处理字符型的数据,对于提高数据库的性能有很大的作用。在字符型数据中
- 例如我们有如下结构的文件:pkg/ __init__.py libs/ some_lib.py __init__.py components
- 本文为大家分享了python实现外卖信息管理系统的具体代码,供大家参考,具体内容如下一、需求分析 需求分析包含如下:1、问题描述 以外卖信息
- pycharm创建新文件自动添加文件头注释背景我们平时在使用pycharm发现有些大神创建一个新文件的时候会自动在文件头添加一些注释,像是有
- 前言最近有人在Twisted邮件列表中提出诸如"为任务紧急的人提供一份Twisted介绍"的需求。值得提前透露的是,这个
- 标准库的fnmatch库专门用来进行文件名匹配,支持使用通配符进行字符串匹配。1、fnmatch:判断文件名是否符合特定的模式;2、fnma
- 自己写了玩的一个小脚本,百度图片下载import reimport osimport requestsimport hashlibdef d
- 本文实例分析了JavaScript事件委托技术。分享给大家供大家参考。具体分析如下:如果一个整体页面里有大量的按钮.我们就要为每一个按钮绑定
- OpenCV图像处理一、图像入门1.读取图像使用 cv.imread() 函数读取一张图像,图片应该在工作目录中,或者应该提供完整的图像路径
- 围绕文字、符号、链接三个方面,主要是中文,草拟的个人行文经验:1. 文字避免写错。应付挑剔的读者是一个方面,某些关键词的错误,有可能就避过了
- 这段时间在爬取了杭州某网站发布的二手房信息,在作图的时候发现在地图呈现上还是有欠缺,这里就把用到的贴出来,提升一下记忆。之前有接触用Base
- 1、看机器配置,指三大件:cpu、内存、硬盘2、看mysql配置参数3、查系mysql行状态,可以用mysqlreport工具来查看4、查看
- 最近,随着数据库的日益庞大,本来两个差不多的数据库,我开始发现我的数据库查询起来越来越比我朋友网站的慢了,经过初步对照,问题好像出在访问记录
- 问题描述:用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率
- 随机生成10位数密码,字母和数字组合import string>>> import random>>>
- 这个教程,我们将展示如何用python创建一个井字游戏。 其中我们将使用函数、数组、if条件语句、while循环语句和错误捕获等