从 JSON 中过滤空值

Filter null values from JSON

我从 MS Graph API 收到以下 JSON:

[
  {
    "audio": null,
    "package": null,
    "pendingOperations": null,
    "photo": null,
    ....
    "webUrl": null,
    "createdByUser": null,
    "lastModifiedByUser": null,
    "id": "0145415166458484754....",
    "@odata.type": "#microsoft.graph.driveItem"
  }
]

如何使用 Python (3.x) 过滤空值?

首先,当它被转换为 python 数据结构(例如字典)时,处理起来会更容易。内置 json 模块可以使用 json.loads.

将 json 字符串转换为 python 对象
import json
data = json.loads(my_json_string)

您可以通过遍历项目来创建没有 None 值的新字典。 Python 使用 None 代替 null,因此我们必须对其进行过滤

filtered_data = {}
for key, value in data.items():
    if value != None:
        filtered_data[key] = value

或更简洁:

filtered_data = {k:v for k, v in data.items() if v != None}

您的示例数据是一个字典列表,因此您必须对列表中的每个元素执行此操作。