You need to enable JavaScript to run this app. Python处理JSON数据时如何跳过不存在或为空的channels字段
优惠活动
大模型
产品
解决方案
定价
更多

Python处理JSON数据时如何跳过不存在或为空的channels字段

Python 过滤JSON非空channels字段条目实现方案

你可以通过添加字段存在性、非空双重判断实现需求,具体实现如下:

完整代码

import json

# 读取JSON文件,with语法会自动处理文件关闭
with open(r"/home/yugendhar.jakkidi/viewsLogdna.json", "r", encoding="utf-8") as f:
    data = json.load(f)

# 过滤符合要求的条目:存在channels字段且字段值非空
filtered_result = [
    entry for entry in data
    if "channels" in entry and entry["channels"]
]

# 遍历输出过滤后的条目信息
for entry in filtered_result:
    print(entry['name'], entry['apps'], entry['viewid'])

# 可选:将过滤结果导出为新的JSON文件,保留格式化缩进
with open(r"/home/yugendhar.jakkidi/filtered_result.json", "w", encoding="utf-8") as f:
    json.dump(filtered_result, f, indent=2, ensure_ascii=False)

逻辑说明

  • 过滤条件"channels" in entry用于筛选出存在channels字段的条目,排除不存在该字段的条目
  • 第二个判断条件entry["channels"]利用Python布尔规则:空列表、None都会被判为False,自动过滤channels为空列表、空值的无效条目
  • 最终得到的filtered_result就是你需要的仅包含非空channels字段的条目列表,可直接遍历使用或导出为文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 21:36:13