input = {
"products": [
{
"productId": "30058841",
"name": "Смартфон 1",
"category": {
"name": "Smartphone"
}
},
{
"productId": "30058842",
"name": "Айфон 1",
"category": {
"name": "Iphone"
}
},
{
"productId": "30058843",
"name": "Смартфон 2",
"category": {
"name": "Smartphone"
}
}
]
}
res = {}
for i in input['products']:
if i['category']['name'] not in res:
res[i['category']['name']] = {i['productId']:{'name' : i['name']}}
else:
res[i['category']['name']][i['productId']] = {'name' : i['name']}
print(res) #--> {'Smartphone': {'30058841': {'name': 'Смартфон 1'}, '30058843': {'name': 'Смартфон 2'}}, 'Iphone': {'30058842': {'name': 'Айфон 1'}}}