У меня есть json-структура меню пользовательского интерфейса, я пытаюсь сделать это, когда пользователь из пользовательского интерфейса вводит новый узел или изменяет узел ранга любого родительского или дочернего меню, структура json должна сортироваться по значению узла ранга.< br />Проблема, с которой я столкнулся, заключается в том, что мой метод сортировки работает до тех пор, пока значение ранга не станет однозначным, как только оно станет двузначным, например 10, 11, 12.... 99, сортировка не работает должным образом, и меню не отображается. в правильном месте согласно сортировке.
Пример структуры меню для справки:
Код: Выделить всё
{
"menustructure":
[
{
"node":"Admin",
"path":"admin",
"child":[
{
"node": "Admin.resouce1",
"path":"resouce1",
"rank":"1"
},
{"node":"Admin.resouce2",
"path": "oath",
"rank":"2"
}
]
},
{
"node":"Workspace",
"path": "wsp",
"child":[{
"node": "Workspace.system1",
"path":"sys1",
"rank": "1"
},
{
"node": "Workspace.system2",
"path":"sys2",
"rank": "2"
}
]
}
]
}
Код: Выделить всё
config['menu-config'] = sorted(config['menu-config'], key=lambda x: int(x.get('rank', float('inf'))))
Источник: https://stackoverflow.com/questions/781 ... on-by-rank