Сортировка меню в формате JSON по рангуPython

Программы на Python
Гость
Сортировка меню в формате JSON по рангу

Сообщение Гость »

У меня есть json-структура меню пользовательского интерфейса, я пытаюсь сделать это, когда пользователь из пользовательского интерфейса вводит новый узел или изменяет узел ранга любого родительского или дочернего меню, структура json должна сортироваться по значению узла ранга.Проблема, с которой я столкнулся, заключается в том, что мой метод сортировки работает до тех пор, пока значение ранга не станет однозначным, как только оно станет двузначным, например 10, 11, 12.... 99, сортировка не работает должным образом, и меню не отображается. в правильном месте согласно сортировке.
Пример структуры меню для справки:

Код: Выделить всё

{
"menustructure":
[
{
"node":"Admin",
"path":"admin",
"rank": "1",
"child":[
{
"node": "Admin.resouce1",
"path":"resouce1",
"rank":"1"
},

{"node":"Admin.resouce2",
"path": "oath",
"rank":"2"
}
]
},
{
"node":"Workspace",
"path": "wsp",
"rank":"2",
"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'))))
Максимальный ранг родительского или дочернего элемента — 1–99.

Источник: https://stackoverflow.com/questions/781 ... on-by-rank

Вернуться в «Python»