flask_sqlalchemy 返回对象 转化

网友投稿 930 2022-10-17

flask_sqlalchemy 返回对象 转化

flask_sqlalchemy 返回对象 转化

返回结果 [, , ]返回数据类型 处理结果 [{"creact_time": null, "id": 1, "name": "root", "password": "123456", "query": null, "query_class": null, "status": 1}, {"creact_time": null, "id": 2, "name": "An", "password": "123456", "query": null, "query_class": null, "status": 1}, {"creact_time": "2019-10-31 11:12:08.041", "id": 4, "name": "admin", "password": "123456", "query": null, "query_class": null, "status": 1}]处理类型 再次处理 [{'creact_time': None, 'id': 1, 'name': 'root', 'password': '123456', 'query': None, 'query_class': None, 'status': 1}, {'creact_time': None, 'id': 2, 'name': 'An', 'password': '123456', 'query': None, 'query_class': None, 'status': 1}, {'creact_time': '2019-10-31 11:12:08.041', 'id': 4, 'name': 'admin', 'password': '123456', 'query': None, 'query_class': None, 'status': 1}]再次处理类型 An

工具类

from sqlalchemy.ext.declarative import DeclarativeMetaimport jsonclass AlchemyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj.__class__, DeclarativeMeta): # an SQLAlchemy class fields = {} for field in [x for x in dir(obj) if not x.startswith('_') and x != 'metadata']: data = obj.__getattribute__(field) try: json.dumps(data) # this will fail on non-encodable values, like other classes fields[field] = data except TypeError: fields[field] = None # a json-encodable dict return fields return json.JSONEncoder.default(self, obj)

使用

from apps.models.test.index import User # model(自行替换)from utils.AlchemyEncoder import AlchemyEncoder # (路径自行替换)import jsonclass Reptile(): def test(): users = User.query.all() # 获取表全部数据(自行替换) arr = json.dumps(users, cls=AlchemyEncoder) print(users) print(type(users)) print(users[1]) print(type(users[1])) print(arr) print(type(arr)) a = json.loads(arr) print(a) print(type(a)) print(a[1]['name'])

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Propeller- CSS 组件框架
下一篇:Laravel- PHP 开发框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~