【问题标题】:Filter null values from JSON从 JSON 中过滤空值
【发布时间】:2026-02-04 20:55:02
【问题描述】:

我从 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 python-3.x microsoft-graph-api


    【解决方案1】:

    首先,当它被转换为python数据结构时,处理起来更容易,比如dict。内置的 json 模块可以使用 json.loads 将 json-string 转换为 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}
    

    您的示例数据是一个字典列表,因此您必须对列表中的每个元素都这样做。

    【讨论】:

    • 您好,感谢您的详细回答,但是 a 是 none 等于 null 吗?因为我得到一个空值,我想过滤
    • 只是Python使用None作为null值,所以转换成python格式时,null会转换为None。