將SQLAlchemy 查詢結果轉換為JSON
將SQLAlchemy 查詢結果序列化為JSON 可能是一個挑戰,特別是沒有像Django ORM模型那樣的自動序列化。為了克服這個問題,可以建立一個自訂 JSON 序列化器或使用現有的函式庫。
一種方法是透過在模型類別中建立to_dict() 方法來手動定義序列化過程:
class User: def to_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
此函數將模型實例轉換為字典,然後可以輕鬆地將其轉換為JSON。
另一個選擇是利用物件序列化函式庫,例如jsonpickle.json但是,請務必注意 jsonpickle.encode() 對查詢物件本身進行編碼。相反,在將模型轉換為字典後使用 jsonpickle.encode(item.to_dict())。
此外,使用 json.dumps(items) 將導致 TypeError,因為 SQLAlchemy 物件本身不是 JSON 可序列化的。 to_dict() 方法確保物件被轉換為適合 JSON 序列化的字典格式。
以上是如何有效率地將SQLAlchemy查詢結果轉換為JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!