首页 > 解决方案 > json/python dict中出现奇怪的双反斜杠

问题描述

我正在编写一个脚本,在其中我从 JSON 数据中取出一个值并尝试使用以下代码"/"替换"\/"

例如 JSON 是:

注意:我正在从文件中加载 JSON,这只是示例。

JSON = {'external_urls': {'source': 'https://someexample.com/etc1'},
        'href': 'https://somesource.com/etc2/',
        'name': 'John Williams'
       }

我写的小脚本是:

import json
from ppprint import pprint
JSON = json.loads(s.content)

oldUrl = JSON['href']
newFomattedUrl = oldUrl.replace('/','\/')
print(newFormattedUrl)
JSON['href'] = newFormattedUrl

print("New JSON Data is:")
pprint(JSON)

我想要实现的 href 的实际格式是:

https:\/\/somesource.com\/etc2\/

但是打印到控制台以及写入文件后的 href 值显示为(在这两种情况下):

'href': 'https:\\/\\/somesource.com\\/etc2\\/

而不是出现与上述格式相同的标题“href 的实际格式”。

我还使用不同的帖子来获得帮助,大多数人说使用它来格式化以替换replace()功能:

new = orlUrl.replace('/',r'\/')

但没有运气。

此外,有些人说这是因为我在写入更新 JSON 之前进行了打印,我还尝试通过删除打印 newFormattedUrl 但更新的 json 有一个额外的反斜杠的 print 语句,因此新写入的 json 文件也是。

如果我没有很好地解释它或有一些语法错误,我正在学习 python 很抱歉。

我什至试过这个:

1. newFomattedUrl = oldUrl.replace('/','\/')

但得到了相同的结果。

标签: pythonjson

解决方案


推荐阅读