python和flask中返回JSON数据的方法


Posted in Python onMarch 26, 2018

在python中可以使用json将数据格式化为JSON格式:

1.将字典转换成JSON数据格式:

s=['张三','年龄','姓名'] 
t={} 
t['data']=s 
return json.dumps(t,ensure_ascii=False)

python和flask中返回JSON数据的方法

2.将列表转换成JSON数据格式:

s=['张三','年龄','姓名'] 
return json.dumps(s,ensure_ascii=False)

python和flask中返回JSON数据的方法

使用json转换的在前端显示的数据为JSON字符串。

使用flask的jsonify转换后,在前台显示的为JSON对象:

s=['张三','年龄','姓名'] 
return jsonify(s)

python和flask中返回JSON数据的方法

s=['张三','年龄','姓名'] 
t={} 
t['data']=s 
return jsonify(t)

python和flask中返回JSON数据的方法

需要返回多条记录时:

s=['张三','年龄','姓名'] 
t={} 
for num in range(1,5): 
  t[str(num)]=s 
return jsonify(t)

python和flask中返回JSON数据的方法

或者:

s=['张三','年龄','姓名'] 
t={} 
for num in range(1,5): 
  t[str(num)]=s 
data={} 
data['SUCCESS']='SUCCESS' 
data['data']=t 
return jsonify(data)

python和flask中返回JSON数据的方法

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和flask中返回JSON数据的方法

对于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()

前端显示:

python和flask中返回JSON数据的方法

使用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))

python和flask中返回JSON数据的方法

以上这篇python和flask中返回JSON数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python时间戳与时间字符串互相转换实例代码
Nov 28 Python
python实现udp数据报传输的方法
Sep 26 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
django 外键model的互相读取方法
Dec 15 Python
python随机模块random使用方法详解
Feb 14 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
Keras实现DenseNet结构操作
Jul 06 Python
Python 日期与时间转换的方法
Aug 01 Python
Python 高效编程技巧分享
Sep 10 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 #Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 #Python
Python实现找出数组中第2大数字的方法示例
Mar 26 #Python
Python实现将json文件中向量写入Excel的方法
Mar 26 #Python
Python元组拆包和具名元组解析实例详解
Mar 26 #Python
基于循环神经网络(RNN)实现影评情感分类
Mar 26 #Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 #Python
You might like
php缓存技术介绍
2006/11/25 PHP
php防攻击代码升级版
2010/12/29 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
jquery ajax执行后台方法
2010/03/18 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
2016/11/30 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
python简单实现旋转图片的方法
2015/05/30 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
使用tensorflow实现线性svm
2018/09/07 Python
Python实现某论坛自动签到功能
2019/08/20 Python
python yield和Generator函数用法详解
2020/02/10 Python
python 安装impala包步骤
2020/03/28 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
情况说明书格式范文
2014/05/06 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
法制教育主题班会
2015/08/13 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL