У меня есть список, похожий на
allsites = [
{
'A5': 'G',
'A10': 'G',
'site': 'example1.com',
'A1': 'G'
},
{
'A5': 'R',
'A10': 'Y',
'site': 'example2.com',
'A1': 'G'
}
]
Что я использую в json.dumps
:
data = { 'Author':"joe", 'data':allsites }
print json.dumps(data,sort_keys=True,indent=4, separators=(',', ': '))
Здесь выводится следующий JSON:
{
"Author": "joe",
"data": [
{
"A1": "G",
"A10": "G",
"A5": "G",
"site": "example1.com"
},
{
"A1": "G",
(...)
Я хотел бы, чтобы раздел "данные" этой строки JSON сортировался через пользовательский ключ ( "алфавит" ), в случае выше это было бы site, A1, A5, A10
и на самом деле выглядело бы следующим образом:
{
"Author": "joe",
"data": [
{
"site": "example1.com",
"A1": "G",
"A5": "G",
"A10": "G"
},
{
"site": "example2.com",
"A1": "G",
(...)
Я прочитал о пользовательской сортировке в FAQ по сортировке, но он просто дает возможность переопределить функцию сравнения, не говоря уже о том, что я не знаете, как вставить это в мой код.
Как это сделать?