试图将信息转储到 json,但出现双反斜杠

Trying to dump information to a json, but getting double backslashs

我在 MySQL 数据库中存储了一些信息,例如:AHmmgZq\n/+AH+G4

我们使用 API 得到它,所以当我在 python 中阅读它时,我得到:AHmmgZq\n/+AH+G4 反斜杠加倍!

现在我需要将其放入 JSON 文件中,如何删除多余的反斜杠?

编辑: 让我展示我的完整代码:

json_dict = {
    "private_key": "AHmmgZq\n/+AH+G4"
}

print(json_dict)
print(json_dict['private_key'])

with open(file_name, "w", encoding="utf-8") as f:
    json.dump(json_dict, f, ensure_ascii=False, indent=2)

在第一个印刷品中我有双反斜杠,但在第二个印刷品中只有一个。当我将它转储到 json 文件时,它给了我两倍。

"AHmmgZq\n/+AH+G4" in python 相当于文字字符串 "AHmmgZq\n/+AH+G4". print("AHmmgZq\n/+AH+G4") => "AHmmgZq\n/+AH+G4"

\n是python中的换行符。因此,要按字面意思表示 \n,需要使用 \ 进行转义。我会首先尝试按原样转换为 json,看看是否可行。

否则删除多余的反斜杠:

string_to_json.replace("\\","\")

记住 \ = 转义 \ = \

但在上面的字符串中,这对您没有帮助,因为 python 将 "AHmmgZq\n/+AH+G4" 读作 "AHmmgZq\n/+AH+G4",因此找不到双反斜杠。

解决我问题的方法是:

string_to_json.replace("\n","\n")

谢谢大家!