当前位置: 首页 > news >正文

python如何快速的判断一个key在json的第几层呢,并修改其value值

python如何快速的判断一个key在json的第几层呢,并修改其value值

def find_and_modify_key(json_obj, target_key, new_value, current_level=1):# 检查当前层是否包含目标keyif target_key in json_obj:print(f"找到 '{target_key}' 在第 {current_level} 层。")# 修改key的值json_obj[target_key] = new_valuereturn current_level, json_objelse:# 否则,递归地搜索嵌套的字典for key, value in json_obj.items():if isinstance(value, dict):level, modified_obj = find_and_modify_key(value, target_key, new_value, current_level + 1)if level is not None:  # 如果找到了key# 因为已经找到并修改了key,可以中断进一步的搜索return level, modified_obj# 如果当前层及其子层都没有找到key,返回Nonereturn None, json_obj# 示例JSON对象
json_data = {"level1": {"level2": {"key_to_find": "old_value","another_key": "value"},"level2_2": {"key_to_find": "another_old_value"}},"single_level": "data"
}# 要查找和修改的key及其新值
target_key = "key_to_find"
new_value = "new_value"# 查找并修改key
level, modified_json = find_and_modify_key(json_data, target_key, new_value)if level is not None:print(f"修改后的JSON数据:{modified_json}")
else:print(f"在JSON数据中未找到 '{target_key}'。")
http://www.lryc.cn/news/365066.html

相关文章:

  • Python基础用语:揭示编程世界的底层逻辑与无限可能
  • react 中使用 swiper
  • 2024年搭建知识库系统5大工具推荐
  • Golang内存分配分三种Golang内存分配分三种类型
  • Marin说PCB之如何在主板上补偿链路中的走线的等长误差?
  • 企业在现代市场中的战略:通过数据可视化提升财务决策
  • printf(“不喝酒就没得朋友可是只要偶一喝酒就喝倒一代朋友人生真的很矛盾“);
  • JAVA小案例-分别计算100以内奇数和偶数的和
  • 头歌初识redis答案
  • Linux.小技巧快捷键
  • 传统的老程序员转向人工智能需要准备好这三件事情,你知道吗?
  • ICPC2024 邀请赛西安站(7/8/13)
  • STM32f103实现按键长按 短按 双击
  • 【WP】猿人学13_入门级cookie
  • 分享一款提取抖音小店商家电话的软件使用教程
  • 反转链表的三种方法--面试必考(图例超详细解析,小白一看就会!!!)
  • Springboot注意点
  • 数组和指针的联系(C语言)
  • 安全区域边界
  • 力扣每日一题 6/6
  • 游戏心理学Day05
  • 【C、C++编译工具】CLion工具介绍与安装
  • LabVIEW中进行步进电机的位置控制
  • 目标检测-AnyLabeling标注格式转换成YOLO格式
  • MongoDB管理内存使用
  • 【Elasticsearch】IK分词器的下载及使用
  • Hyper-SD: diffusion实时出图,一步搞定,字节出品
  • :长亭雷池社区版动态防护体验测评
  • 数据结构复习
  • 小世界网络生成及其分析