在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