将SQLAlchemy查询结果转换为JSON。
时间: 2024-04-10 11:28:26 浏览: 9
你可以使用SQLAlchemy提供的`to_dict()`函数将查询结果转换为字典,然后使用Python的内置`json`模块将字典转换为JSON格式。下面是一个示例:
```python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import json
# 创建数据库连接
engine = create_engine('sqlite:///example.db')
Session = sessionmaker(bind=engine)
session = Session()
# 创建模型
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
email = Column(String)
# 查询数据并转换为JSON
users = session.query(User).all()
user_dicts = [user.to_dict() for user in users]
json_data = json.dumps(user_dicts)
print(json_data)
```
在上面的示例中,我们首先定义了一个`User`模型,并使用`session.query(User).all()`执行查询操作获取所有用户的结果。然后,我们使用`to_dict()`函数将每个用户对象转换为字典,并将这些字典存储在一个列表中。最后,使用`json.dumps()`函数将列表转换为JSON格式的字符串。
请注意,`to_dict()`函数是自定义的,你需要根据你的模型定义实现它。