You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python写入文件时如何将/替换为\/?转义问题求解

解决JSON写入时URL的双重转义问题

你遇到的核心问题是手动转义了URL中的斜杠,而json.dump在序列化JSON数据时,会自动对斜杠/进行转义处理,这就导致了双重转义,最终写出的文件里出现\\\/。

根本原因

你原本的操作是把URL里的/手动替换成\/,但JSON规范里斜杠是可转义字符,json.dump默认会自动转义斜杠。手动转义+自动转义的叠加,就把\/变成了\\\/(因为反斜杠本身也会被转义)。

解决方案

完全不需要手动替换斜杠,直接把原始URL赋值给对应字段,让json.dump自动处理转义即可。

修正后的代码如下:

original_string = "https://stackoverflow.com/questions/"

import json
# 读取原有JSON文件
with open('url.json', 'r') as f:
    data = json.load(f)

# 直接赋值原始URL,无需手动转义
data["website"]["url"] = original_string

# 写入文件
with open("url.json", "w") as outfile:
    json.dump(data, outfile)

验证结果

运行这段代码后,url.json里的内容会变成符合预期的格式:

{"website": {"title": "stackoverflow", "url": "https:\/\/stackoverflow.com\/questions\/"}}

补充说明

之前用print输出结果正确,是因为Python打印字符串时会自动解析转义字符,把\/显示成/;但写入文件时json.dump会对字符串里的反斜杠再做一次转义,所以才出现了双重转义的问题。

内容的提问来源于stack exchange,提问作者nrnw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:12:52