Задать вопрос
@Dimsol1n0

Как удалить дубликаты в json списке?

У меня такой json:
{
    "items": [
        {
            "start_price": "3000",
            "end_price": "2850",
            "classid": "3106096757",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "4500",
            "end_price": "4275",
            "classid": "3106142260",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "5000",
            "end_price": "4750",
            "classid": "310781333",
            "instanceid": "302028390",
            "name": "P90 | Teardown (Field-Tested)"
        }
    ]
}

Мне нужно отсортировать по названиям, т.е объект с одинаковым "name" (дублированным): будет удален. Например, с моего json должно остаться:
{
    "items": [
        {
            "start_price": "4500",
            "end_price": "4275",
            "classid": "3106142260",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "5000",
            "end_price": "4750",
            "classid": "310781333",
            "instanceid": "302028390",
            "name": "P90 | Teardown (Field-Tested)"
        }
    ]
}
  • Вопрос задан
  • 1080 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
input_data = {
    "items": [
        {
            "start_price": "3000",
            "end_price": "2850",
            "classid": "3106096757",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "4500",
            "end_price": "4275",
            "classid": "3106142260",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "5000",
            "end_price": "4750",
            "classid": "310781333",
            "instanceid": "302028390",
            "name": "P90 | Teardown (Field-Tested)"
        }
    ]
}

output_data = [v for v in {inp['name']: inp for inp in input_data['items']}.values()]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы