如何移除JSON中路径最后一个斜杠后的内容?
两种实用方法移除JSON路径的最后一级
嘿,这个需求很常见,我给你分享两种靠谱的解决方式,适配不同的使用场景:
方法一:用Python脚本处理
如果你习惯用代码批量处理或者集成到工作流里,Python是个好选择,步骤清晰还灵活:
import json # 原始JSON数据(可以是字符串,也可以从文件读取) original_json = '{"path": "/home/data/files/access"}' data = json.loads(original_json) # 核心处理:从路径右侧拆分一次斜杠,取前半部分 # 就算路径末尾带斜杠也能正常处理,比如"/home/data/files/"会变成"/home/data/files" data["path"] = data["path"].rsplit('/', 1)[0] # 输出处理后的JSON,也可以写入文件 print(json.dumps(data, indent=2))
运行后会输出:
{ "path": "/home/data/files" }
方法二:用命令行工具jq快速处理
如果你在终端环境下,jq工具能一行命令搞定,非常高效:
精准移除"/access"后缀
如果你确定最后一段固定是access,可以直接用rtrimstr去掉:
echo '{"path": "/home/data/files/access"}' | jq '.path |= rtrimstr("/access")'
通用移除最后一级路径
如果最后一段不固定,想不管是什么都去掉最后一级,用拆分重组的方式更通用:
echo '{"path": "/home/data/files/access"}' | jq '.path |= (split("/")[:-1] | join("/"))'
要是处理本地JSON文件,比如input.json,并把结果保存到output.json:
jq '.path |= (split("/")[:-1] | join("/"))' input.json > output.json
内容的提问来源于stack exchange,提问作者ravan one
相关产品推荐
相关产品推荐

