You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中过滤JSON数据并将指定结果存入变量供后续复用

Python 过滤JSON数据集并赋值给变量的方法

前置说明

你给出的数据集属于JSON对象数组,在Python中操作前需要先将JSON字符串解析为由字典组成的列表,如果已经是解析后的Python列表对象可以直接跳过解析步骤。

注意:标准JSON要求键名必须用双引号包裹,如果你拿到的原始JSON是你示例中无引号的格式,需要先做格式修正再解析。

具体实现代码

1. 解析JSON数据(仅原始为JSON字符串时需要)

import json

# 修正为标准格式的JSON字符串示例
raw_json = '''
[
    {
        "id": 121,
        "email": "email1@email.com",
        "firstName": "Jason",
        "lastName": "Wright",
        "accountStatus": "active"
    },
    {
        "id": 122,
        "email": "email2@email.com",
        "firstName": "Carl",
        "lastName": "John",
        "accountStatus": "active"
    },
    {
        "id": 123,
        "email": "email3@email.com",
        "firstName": "Ernie",
        "lastName": "Smith",
        "accountStatus": "active"
    }
]
'''

# 解析为Python列表,每个元素是对应用户信息的字典
data = json.loads(raw_json)

2. 筛选并赋值给变量

场景1:获取第一个匹配条件的对象

和你给出的PowerShell示例逻辑完全对应,找到第一个id为123的用户就停止遍历,效率更高,找不到时默认返回None避免报错:

target_user = next((item for item in data if item["id"] == 123), None)

场景2:获取所有匹配条件的对象

如果有多个符合条件的结果,用列表推导式筛选,结果会存在列表中:

# 示例:筛选所有账户状态为active的用户
active_users = [item for item in data if item["accountStatus"] == "active"]

结果验证

打印筛选后的变量即可查看结果:

print(target_user)

输出结果:

{'id': 123, 'email': 'email3@email.com', 'firstName': 'Ernie', 'lastName': 'Smith', 'accountStatus': 'active'}

后续可以直接复用变量,比如获取用户邮箱直接写target_user["email"]即可。

内容的提问来源于stack exchange,提问作者curtcab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:00:04