我使用MySQL将JSON作为blob /文本存储在列中。有没有简单的方法可以使用python / SQLAlchemy将其转换为字典?
您可以使用SQLAlchemy 轻松创建自己的类型
对于SQLAlchemy版本> = 0.7,请在下面查看Yogesh的答案
import jsonpickle import sqlalchemy.types as types class JsonType(types.MutableType, types.TypeDecorator): impl = types.Unicode def process_bind_param(self, value, engine): return unicode(jsonpickle.encode(value)) def process_result_value(self, value, engine): if value: return jsonpickle.decode(value) else: # default can also be a list return {}
在定义表时可以使用它(示例使用elixir):
from elixir import * class MyTable(Entity): using_options(tablename='my_table') foo = Field(String, primary_key=True) content = Field(JsonType()) active = Field(Boolean, default=True)
您还可以使用其他json序列化程序进行jsonpickle。