Python如何删除JSON中snippet.title为Private video的列表项
过滤指定条目的简便实现方案
有非常直接的实现逻辑,不需要手动做循环遍历、索引移位这类复杂操作,不同技术栈下的实现方式如下:
JavaScript/Node.js 场景
用数组原生filter方法,一行代码即可完成全量过滤:
// 对解析后的完整JSON对象直接操作 data.items = data.items.filter(item => item.snippet.title !== "Private video");
- 实现逻辑:自动遍历items数组,仅保留
snippet.title不等于"Private video"的条目,符合移除条件的项会被整体剔除 - 容错优化:如果担心部分条目缺失snippet字段引发报错,可添加可选链判断:
data.items = data.items.filter(item => item?.snippet?.title !== "Private video");
- 特性说明:原生方法零依赖,性能完全适配常规API返回的数据量级,不会破坏JSON中其余字段(如nextPageToken、pageInfo等)的原有结构
Python 场景
拿到接口响应后,用列表推导式完成过滤:
# 解析接口返回的JSON resp_data = resp.json() # 过滤items数组 resp_data["items"] = [item for item in resp_data["items"] if item["snippet"]["title"] != "Private video"]
临时手动处理场景
如果不需要编写长期运行的处理逻辑,可直接用本地JSON处理工具,搭配JMESPath规则实现一键过滤,在JSON根路径下应用规则$[?(@.snippet.title != "Private video")],无需逐层遍历即可直接得到过滤后的完整JSON结构。
内容的提问来源于stack exchange,提问作者Martin Kick
相关产品推荐
相关产品推荐

