如果要将两个JSON元素放入新字典中,如何保持JSON的顺序

时间:2019-09-23 14:23:58

标签: python json

我想从网页上获得基于每种产品的URL的购物编号和价格。从JSON加载仅包含两个JSON元素的有序字典。我传入了OrderedDict参数的负载,并根据元素对json负载进行了排序。我执行以下操作,但最终命令不正确。还有其他办法吗?

glutSolidSphere

我想根据最终价格升序获得有序的shop_id和final_price字典,但是我有两个主要问题

json_dict顺序不正确 我从mystr收到错误消息,认为该str没有属性排序

1 个答案:

答案 0 :(得分:0)

OrderedDict旨在保留条目的添加顺序。这里不需要,您需要根据最终价格对字典进行排序:

payments = json.loads(mystr)
final_prices = sorted([
    (payment['shop_id'], payment['final_price'])
    for payment in payments
], key=lambda payment: payment[1])

如果由于某种原因您仍然需要OrderedDict,则可以执行以下操作:

OrderedDict(final_prices)