sqlalchemy/psycopg2 将我的 jsons 解析为字典,但不保留顺序

aki*_*iva 6 json sqlalchemy psycopg2

我有一个返回 json 对象的 psql 查询。我用它来获取这个查询,results.fetchall()并将 json 正确地作为 dict 获取。但是,由于我在 python 3.4 中,还没有在 3.6 中,对象的顺序没有保留在 dict 中。我看到有一种方法可以OrderedDict用来保持 json 的顺序,但我不确定如何告诉 sqlalchemy/psycopg2 使用它。

有人可以帮忙吗?

don*_*mus 4

如文档中所示,您在创建引擎时必须提供自定义反序列化器:

from functools import partial
import json, collections

engine = create_engine(
    ...,
    json_deserializer=partial(
        json.loads, 
        object_pairs_hook=collections.OrderedDict),
    )
Run Code Online (Sandbox Code Playgroud)