Skip to main content
 首页 » 编程设计

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

2025年05月04日107youxin

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

有人可以帮忙吗?

请您参考如下方法:

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

from functools import partial 
import json, collections 
 
engine = create_engine( 
    ..., 
    json_deserializer=partial( 
        json.loads,  
        object_pairs_hook=collections.OrderedDict), 
    )