如何用Python扫描JSON文件查找特定字符串?含条件判断需求
嘿,我来帮你搞定这个判断逻辑的问题!
解决方法
首先得确认你的JSON文件格式是正确的——注意domain的值需要用双引号包裹,不然会解析出错,正确的文件内容应该是这样:
[ { "name": "SID", "path": "/", "domain": "test.com" } ]
接下来,你通过json.load()加载后得到的config是一个列表(因为JSON最外层是数组),里面装着配置字典。所以我们需要先获取到对应的配置项,再对domain字段做判断。这里给你两种实用的实现方式:
方式一:针对单个配置项的直接判断
如果你的配置文件里只会有这一个配置项,直接取列表的第一个元素就行:
import json # 推荐用with语句打开文件,自动帮你关闭,避免资源浪费 with open("config/config.json", "r") as f: config = json.load(f) # 取出列表里的第一个配置字典 target_config = config[0] # 进行if判断 if target_config["domain"] == "test.com": # 这里写domain为test.com时要执行的操作 print("正在执行test专属操作...") else: # 其他域名对应的操作 print("正在执行通用操作...")
方式二:遍历列表适配多配置项
如果以后你的配置文件可能会添加多个域名配置,用遍历的方式会更灵活:
import json with open("config/config.json", "r") as f: config = json.load(f) # 逐个检查每个配置项 for item in config: if item["domain"] == "test.com": print(f"找到匹配域名的配置:{item},执行对应操作") # 写入你的操作代码 else: print(f"当前配置域名是{item['domain']},执行其他逻辑")
小提醒:用with语句处理文件是Python里的最佳实践,不用手动调用close(),代码更安全简洁。
内容的提问来源于stack exchange,提问作者Ogden
相关产品推荐
相关产品推荐

