一尘不染

删除对象数组中的JSON属性

json

我有一个要在Python中清理的JSON数组。我要删除该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理解列表时,它返回一个空数组。我必须纠正什么才能使其正常工作?


阅读 373

收藏
2020-07-27

共1个答案

一尘不染

解决您的问题的一种简单方法是使用以下方法删除不需要的密钥del

import json

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

您应该添加一些安全检查,但是您知道了。

2020-07-27