Удаление свойства JSON в массиве объектов с помощью Python

У меня есть массив JSON, который я очищаю на Python. Я хочу удалить свойство imageData :

data.json

 [{"title": "foo", "imageData": "xyz123"}, {"title": "bar", "imageData": "abc123"}, {"title": "baz", "imageData": "def456"}] 

Я устанавливаю понимание списка, чтобы удалить свойство, но я не уверен, как создать переменную, которая фокусируется на imageData :

 import json with open('data.json') as json_data: data = json.load(json_data) clean_data = [ item for item in data if not item['imageData'] ] # Write `clean_data` to new json file 

Когда я print понимание списка, он возвращает пустой массив. Что я должен исправить, чтобы нормально работать?

4 Solutions collect form web for “Удаление свойства JSON в массиве объектов с помощью Python”

Легкое решение вашей проблемы – удаление ненужного ключа на месте с помощью del :

 import json with open('data.json') as json_data: data = json.load(json_data) for element in data: del element['imageData'] 

Вы должны добавить некоторые проверки безопасности, но вы получите эту идею.

Если не все элементы имеют ключ imageData , то использование del вызывает исключение KeyError . Вы можете предотвратить это, используя pop по умолчанию:

 for item in data: item.pop('image', None) 
 [ item for item in data if not item['imageData'] ] 

пуст, потому что у всех есть imageData . Вы просто проверяете его, а не удаляете .

del item['imageData'] date цикла и del item['imageData'] для каждого item .

Как насчет:
clean_data = [k:v for k,v in data.iteritems() if k != 'imageData']

Или словарь expresion / понимание, если вы хотите словарь:
clean_data = {k:v for k,v in data.iteritems() if k != 'imageData'}

  • Как решить ImportError: невозможно импортировать имя simplejson в Django
  • Усечение юникода, чтобы он соответствовал максимальному размеру при кодировании для переноса
  • Python - Map / Reduce - Как читать конкретное поле JSON при использовании примера count count count
  • Почему клавиши int питона python превращаются в строки при использовании json.dumps?
  • Загрузка исходных данных с помощью Django 1.7 и миграций данных
  • Добавление атрибутов сеанса в Python для навыков Alexa
  • Проблема с пинтовым сервером шины Azure
  • urllib2 и json
  •  
    Interesting Posts for Van-Lav

    Как разместить мой набор данных в файле .pkl в точном формате и структуре данных, используемой в «mnist.pkl»?

    Поиск кросс-платформенных функций rsync в python, таких как rsync.py

    Используйте Python pool.map, чтобы несколько процессов выполняли операции над списком

    Python super: метод базового класса вызывает другой метод

    почему perl, ruby ​​use / dev / urandom

    Как распечатать текущую дату на python3?

    Как загрузить файл на S3 без создания временного локального файла

    Как создать рабочих сельдерея на отдельных машинах?

    Подключение к серверу SQLite3 с использованием PyODBC, Python

    Python / Django: войдите в консоль под управлением сервера задач, войдите в файл под Apache

    Отправка HTML в PDF на сайте Django

    Как заставить pyCharm остановить скрытие (мой) импорта python?

    Есть ли эквивалент python инструментария визуализации предзапусков?

    Как изменить цвет фона?

    Как я могу показать модальный диалог PyQt и получить данные из своих элементов управления после его закрытия?

    Python - лучший язык программирования в мире.