Преобразовать дублированный отфильтрованный вывод json обратно в объект json? - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь удалить все повторяющиеся записи из объекта json. У меня есть следующий список json:

[ 
  { 
    "hello": "abc",
    "world": "bla"
  },
  {
    "hello": "def",
    "world": "blubb"
  },
  {
    "hello": "ghe",
    "world": "bla"
  },
  {
    "hello": "jkl",
    "world": "bla"
  }
]  

Я хочу удалить все дубликаты ключа world, сохраняя только первое вхождение дубликатов. Результат должен быть таким:

[ 
  { 
    "hello": "abc",
    "world": "bla"
  },
  {
    "hello": "def",
    "world": "blubb"
  }
]  

Я знаю, что могу добиться этого примерно так:

unique = {each['world']: each for each in json_data}.values()

Но я не могу вернуть действительныйобъект json - только dict_values. Как вернуть действительный объект json, в котором удалены дубликаты?

1 Ответ

2 голосов
/ 16 октября 2019

Преобразуйте значения dict обратно в json с помощью json.dumps , если вам это необходимо:

import json
json.dumps(list(unique))
...