Python 如何对JSON数据进行排序?将返回的结果从最低顺序排列到最高顺序

Python 如何对JSON数据进行排序?将返回的结果从最低顺序排列到最高顺序,python,json,Python,Json,目前,查询的结果是API返回的任何顺序,这会导致大量混乱, 我想将结果从最低的游戏价格到最高的顺序排列,以便在其他信息旁边轻松显示最低的价格。只需使用排序和适当的键,即lambda x:int(x['gameprice'])。您还可以简化打印,而不是使用串联,使用多个参数 for val in online_json["payload"]["orders"]: if val["user"]["status"]

目前,查询的结果是API返回的任何顺序,这会导致大量混乱,
我想将结果从最低的游戏价格到最高的顺序排列,以便在其他信息旁边轻松显示最低的价格。

只需使用
排序
和适当的
,即
lambda x:int(x['gameprice'])
。您还可以简化
打印
,而不是使用串联,使用多个参数

for val in online_json["payload"]["orders"]:
    if val["user"]["status"] == "ingame" and val["order_type"] == "sell":
        username = str(val["user"]["ingame_name"])
        quantity = int(val["quantity"])
        game_price = int(val["gameprice"])

        print(username + ' is selling ' + str(quantity) + ' for ' + str(game_price) + '  each.')

在代码中提供一些数据。请提供示例JSON结构,因为这里没有任何JSON;您只有一个
dict
,它可能是解码JSON对象时产生的。
for val in sorted(online_json["payload"]["orders"], key=lambda x:int(x['gameprice'])):
    if val["user"]["status"] == "ingame" and val["order_type"] == "sell":
        username = str(val["user"]["ingame_name"])
        quantity = int(val["quantity"])
        game_price = int(val["gameprice"])

        print(username, 'is selling', quantity, 'for', game_price, 'each.')