Python如何查询JSON文件中指定name值对应的iso字段值
实现方法
Python 标准库自带的json模块就可以完成这个需求,不需要额外安装第三方库,具体实现步骤如下:
- 步骤1:用
json.load()读取本地JSON文件,将JSON结构转换为Python可操作的字典/列表结构 - 步骤2:遍历
response下的holidays数组,匹配name字段值为New Year's Day的条目 - 步骤3:匹配成功后直接取对应条目的
date.iso字段值即可
完整示例代码
import json # 读取dates.json文件,encoding指定为utf-8避免中文/特殊字符乱码 with open("dates.json", "r", encoding="utf-8") as f: data = json.load(f) target_name = "New Year's Day" target_iso = None # 遍历假期列表匹配目标 for holiday in data["response"]["holidays"]: if holiday["name"] == target_name: target_iso = holiday["date"]["iso"] break # 输出结果 if target_iso: print(f"查询到的ISO日期为:{target_iso}") else: print(f"未找到名称为「{target_name}」的假期条目")
注意:如果运行时报文件不存在的错误,检查
dates.json是否和当前Python脚本放在同一目录,或者把open()里的文件路径替换为dates.json的绝对路径即可。
拓展:多查询场景优化
如果需要多次按假期名称查询,可以先把列表转成以名称为key的字典,后续查询不需要重复遍历,效率更高:
# 提前构建名称映射字典 holiday_name_map = {item["name"]: item for item in data["response"]["holidays"]} # 直接查询,多层get避免找不到字段时报错 target_iso = holiday_name_map.get("New Year's Day", {}).get("date", {}).get("iso") print(target_iso)
内容的提问来源于stack exchange,提问作者HilFing_Real
相关产品推荐
相关产品推荐

