繁体   English   中英

Json to Python中的OrderedDict

[英]Json to OrderedDict in Python

每当我尝试将json解析为OrderedDict时,它的结局顺序都与json不同。 我这样尝试:

from collections import OrderedDict    
data = OrderedDict(json.loads(resp.read().decode("utf-8")), object_pairs_hook=OrderedDict)

我是在做错什么,如果是的话,我该怎么做才能解决它,或者在python中是不可能的?

我已经看到过诸如object_pairs_hook=collections.OrderedDict类的东西,但是它甚至无法正确执行。 它无法解决引用。

您将关键字参数放在错误的位置,如果我们添加更多的空格,则可能更清楚:

data = OrderedDict(
    json.loads(
        resp.read().decode("utf-8")  # one argument to json.loads
    ), 
    object_pairs_hook=OrderedDict  # second argument to OrderedDict
)

OrderedDict不需要这样的参数-您打算将其传递给json.loads ,那么您无需重新创建它:

data = json.loads(
    resp.read().decode("utf-8"), 
    object_pairs_hook=OrderedDict
)

省略object_pairs_hook时,没有看到想要的顺序的原因是json.loads创建了一个json.loads无序字典, 然后将其转换为OrderedDict

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM