python - 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('/','\/')
但得到了相同的结果。
解决方案
推荐阅读
- ajax - 在 Analytics 中跟踪 Ajax 表单时遇到问题
- reactjs - 从另一处房产取钥匙
- javascript - 如何在不丢失格式的情况下更改富文本
- sql - 将字符串格式化为日期时间
- sql-server-2012 - 导入的 SQL Server 数据库用户名
- python - 在屏幕上查找颜色
- azure-devops - 如何从通知中过滤新的工作项?
- django - Django后台任务不考虑新代码
- python - 如何处理随机森林的二进制变量(0和1)中的NaN?
- runtime - 如何获得 Runtime 3.0 for Business Central CU 10(2019 年 8 月版)