如何访问JSON对象指定属性并输出信息 无需提前指定日期键
实现代码
你可以直接遍历外层字典的所有键值对,无需提前知道具体日期值,示例代码如下:
# 存储匹配结果的列表 result = [] # 遍历所有日期对应的人员分组 for date, person_list in json_content.items(): for person in person_list: # 筛选居住在Seattle的人员 if person.get("city") == "Seattle": # 若后续需要补充日期字段,取消注释下方代码即可 # person["date"] = date result.append(person)
如果偏好更简洁的写法,可以用列表推导式实现:
# 已默认添加日期字段,不需要的话删除`**person, "date": date,`里的`"date": date,`即可 result = [ {**person, "date": date} for date, person_list in json_content.items() for person in person_list if person.get("city") == "Seattle" ]
逻辑说明
- 外层循环通过
json_content.items()直接获取所有日期和对应人员列表,不需要提前硬编码日期 - 用
dict.get()读取字段可以避免部分条目缺失字段时触发异常 - 筛选条件可灵活调整,比如要筛选州为AZ的人员,把if后的条件改为
person.get("state") == "AZ"即可
内容的提问来源于stack exchange,提问作者Sergey V.
相关产品推荐
相关产品推荐

