使用Python 3在JSON中筛选existedPrior为false的字符串
提取JSON中
existedPrior为false的string值(Python 3) 嗨,这事儿其实挺简单的,用Python标准库就能轻松搞定!我给你分两种场景来写解决方案,你可以根据自己的实际情况选:
场景1:JSON是字符串格式(比如从文件/API获取的)
如果你的JSON数据是字符串形式,首先得用json模块把它解析成Python的列表对象,然后用列表推导式快速筛选目标值:
import json # 你的JSON字符串 json_data = '''[ {"string": "00002000", "existedPrior": true}, {"string": "00002001", "existedPrior": false}, {"string": "00002002", "existedPrior": true}, {"string": "00002003", "existedPrior": true}, {"string": "00002004", "existedPrior": false} ]''' # 解析为Python列表 parsed_data = json.loads(json_data) # 筛选并提取目标string值 target_strings = [item["string"] for item in parsed_data if not item["existedPrior"]] # 输出结果,之后你可以对这个列表做后续操作 print(target_strings) # 输出: ['00002001', '00002004']
场景2:JSON已经是Python列表对象
如果你的数据已经在代码里定义成了Python的列表(比如直接写在脚本里的),那跳过解析步骤直接筛选就行:
# 已经是Python列表的原始数据 data = [ {"string": "00002000", "existedPrior": True}, {"string": "00002001", "existedPrior": False}, {"string": "00002002", "existedPrior": True}, {"string": "00002003", "existedPrior": True}, {"string": "00002004", "existedPrior": False} ] # 提取目标值 target_strings = [item["string"] for item in data if not item["existedPrior"]]
可选:更健壮的写法(防止KeyError)
如果担心JSON里有些条目可能缺少string或existedPrior键,可以加个判断避免脚本崩溃:
target_strings = [ item["string"] for item in parsed_data # 或者data,根据场景替换 if "existedPrior" in item and not item["existedPrior"] and "string" in item ]
内容的提问来源于stack exchange,提问作者Zlkva
相关产品推荐
相关产品推荐

