Reputation: 25
So I have a JSON file that looks like this:
{
"PlayerA": {
"val": 200,
"level": 1
},
"PlayerB": {
"val": 1000,
"level": 1
},
"PlayerC": {
"val": 30,
"level": 1
}
}
And I want it to be sorted by "val," so that it looks like this:
{
"PlayerB": {
"val": 1000,
"level": 1
},
"PlayerA": {
"val": 200,
"level": 1
},
"PlayerC": {
"val": 30,
"level": 1
}
}
How would I go about doing this?
Upvotes: 0
Views: 150
Reputation: 1455
Try this:
data = {
"PlayerA": {
"val": 200,
"level": 1
},
"PlayerB": {
"val": 1000,
"level": 1
},
"PlayerC": {
"val": 30,
"level": 1
}
}
data = sorted(data.items(), key=lambda x: x[1]["val"], reverse=True)
print(data)
# [('PlayerB', {'val': 1000, 'level': 1}), ('PlayerA', {'val': 200, 'level': 1}), ('PlayerC', {'val': 30, 'level': 1})]
Upvotes: 1