I have a JSON array that I'm cleaning up in Python. I want to remove the imageData property:
data.json
[{"title": "foo", "imageData": "xyz123"},
{"title": "bar", "imageData": "abc123"},
{"title": "baz", "imageData": "def456"}]
I am setting up a list comprehension to remove the property, but I'm not sure how to create the variable that focuses on 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
When I print the list comprehension, it returns an empty array. What do I have to correct to get this working properly?
解决方案
An easy solution to your problem is deleting the unwanted key in place, with del:
import json
with open('data.json') as json_data:
data = json.load(json_data)
for element in data:
del element['imageData']
You should add some safety checks, but you get the idea.