История изменений
Исправление vvn_black, (текущая версия) :
A на Python -е никто не напишет правильный пример?
Правильный не правильный, но рабочий однострочник:
import ujson
import pprint
from functools import reduce
data = """
{
"girls": {
"0": {"name": "Маша", "position": 555},
"1": {"name": "Анка", "position": 777},
"2": {"name": "Ната", "position": 888}
}
}
"""
d = ujson.loads(data)
d['girls'] = reduce(
lambda a, c: {**a, **{c[0]: {**c[1], **{'position': c[0] + 1}}}},
enumerate(sorted(d['girls'].values(), key=lambda x: x['name'])), {})
pprint.pprint(d)
{'girls': {0: {'name': 'Анка', 'position': 1},
1: {'name': 'Маша', 'position': 2},
2: {'name': 'Ната', 'position': 3}}}
Исходная версия vvn_black, :
Правильный не правильный, но рабочий однострочник:
import ujson
import pprint
from functools import reduce
data = """
{
"girls": {
"0": {"name": "Маша", "position": 555},
"1": {"name": "Анка", "position": 777},
"2": {"name": "Ната", "position": 888}
}
}
"""
d = ujson.loads(data)
d['girls'] = reduce(
lambda a, c: {**a, **{c[0]: {**c[1], **{'position': c[0] + 1}}}},
enumerate(sorted(d['girls'].values(), key=lambda x: x['name'])), {})
pprint.pprint(d)
{'girls': {0: {'name': 'Анка', 'position': 1},
1: {'name': 'Маша', 'position': 2},
2: {'name': 'Ната', 'position': 3}}}