在python中可以使用json将数据格式化为json格式:
1.将字典转换成json数据格式:
1
2
3
4
|
s = [ '张三' , '年龄' , '姓名' ] t = {} t[ 'data' ] = s return json.dumps(t,ensure_ascii = false) |
2.将列表转换成json数据格式:
1
2
|
s = [ '张三' , '年龄' , '姓名' ] return json.dumps(s,ensure_ascii = false) |
使用json转换的在前端显示的数据为json字符串。
使用flask的jsonify转换后,在前台显示的为json对象:
1
2
|
s = [ '张三' , '年龄' , '姓名' ] return jsonify(s) |
1
2
3
4
|
s = [ '张三' , '年龄' , '姓名' ] t = {} t[ 'data' ] = s return jsonify(t) |
需要返回多条记录时:
1
2
3
4
5
|
s = [ '张三' , '年龄' , '姓名' ] t = {} for num in range ( 1 , 5 ): t[ str (num)] = s return jsonify(t) |
或者:
1
2
3
4
5
6
7
8
|
s = [ '张三' , '年龄' , '姓名' ] t = {} for num in range ( 1 , 5 ): t[ str (num)] = s data = {} data[ 'success' ] = 'success' data[ 'data' ] = t return jsonify(data) |
json也可以:
1
2
3
4
5
6
7
8
|
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,首先在模型文件中导入:
1
|
from sqlalchemy.orm import class_mapper |
在模型类中加入一个方法:
1
2
3
4
5
|
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) |
调用:
1
2
3
4
|
users = user.query. all (); dict = {} for i in users: dict [ repr (i. id )] = i.as_dict() |
前端显示:
使用flask+sqlachemy这个orm时,定义的模型类不能使用
1
|
json.dumps(user, default = lambda o: o.__dict__, sort_keys = true, indent = 4 ) |
这种方式格式化。
使用
user.__dict__.keys()获取的属性会多出一个属性。
在python中定义的一般类,如:
1
2
3
4
|
class test( object ): def __init__( self ,name,age): self .name = name self .age = age |
python中的普通类可以直接格式化:
1
2
|
test = test( '张三' , 21 ) print (json.dumps(test,default = lambda o: o.__dict__,sort_keys = true, indent = 4 ,ensure_ascii = false)) |
以上这篇python和flask中返回json数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/matengbing/article/details/78653591