使用Ansible修改远程服务器JSON文件中的嵌套键值对
远程服务器嵌套JSON单键值对修改方案
- 前置操作(必做):修改前先备份原文件,避免操作失误丢失数据
cp /path/to/your/json/file.json /path/to/your/json/file.json.bak - 方法1:使用jq命令行工具(适用于大多数默认带jq的Linux服务器,操作快捷)
直接执行以下命令即可完成修改,其余JSON结构和字段完全保留:
说明:如果你的原JSON存在不符合标准规范的尾逗号,jq会报解析错误,可改用下面的Python方法处理jq '.foo.val2 = "newvalue"' /path/to/your/json/file.json > temp.json && mv temp.json /path/to/your/json/file.json - 方法2:使用Python脚本(兼容性强,适配各种标准/非标准JSON场景)
在服务器上新建并运行以下Python脚本即可:import json # 替换为你实际的JSON文件路径 json_path = "/path/to/your/json/file.json" with open(json_path, "r", encoding="utf-8") as f: json_data = json.load(f) # 修改指定嵌套键的值 json_data["foo"]["val2"] = "newvalue" with open(json_path, "w", encoding="utf-8") as f: # indent=4 保留原有的缩进格式,也可以根据你的需求调整 json.dump(json_data, f, indent=4)
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

