JSON / Python字典中出现奇怪的双反斜杠

时间:2018-11-07 17:36:03

标签: python json

我正在编写一个脚本,在其中我从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之前先进行打印,我也尝试通过删除打印newprinttedUrl的print语句来尝试,但是更新后的json有一个额外的反斜杠,因此新编写的json文件。

我正在学习python,所以如果我不能很好地解释它或有一些语法错误,对不起。

我什至尝试过:

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

但是得到了相同的结果。

0 个答案:

没有答案