如何在 Python 中正确转义 json 字符串中的双引号 (")

在 json 文件中双引号被转义,我不确定这里缺少什么


import json

s = '{"title": "Fetching all Jobs from \"host_name\"."}'

j = json.loads(s)

print(j)


ValueError: Expecting , delimiter: line 1 column 36 (char 35)


犯罪嫌疑人X
浏览 1124回答 5
5回答

白板的微信

你真的首先需要一个字符串吗?s = {"title": 'Fetching all Jobs from "host_name".'}# If you want a string, then hereimport jsonj = json.dumps(s)print(j)回收值看起来像这样{"title": "Fetching all Jobs from \"host_name\"."}>>> s2 = r'{"title": "Fetching all Jobs from \"host_name\"."}'>>> json.loads(s2){'title': 'Fetching all Jobs from "host_name".'}

哆啦的时光机

如果您json以这种方式使用,它可能对您有用:import json s = ‘my string with “double quotes” and more’json.dumps(s)'"my string with \\"double quotes\\" and more"'

慕标琳琳

使用 r 字符串将帮助您转义 json 字符串中的内部引号。import jsons = r'{"title": "Fetching all Jobs from \"host_name\"."}'j = json.loads(s)print(j)但我不确定这是否是最佳做法。

斯蒂芬大帝

这会帮助你>>> import json>>> s= json.dumps('{"title": "Fetching all Jobs from \"host_name\"."}')>>> j=json.loads(s)>>> print(j){"title": "Fetching all Jobs from "host_name"."}

肥皂起泡泡

我知道有两种处理方法,第一种是转义'\':s = '{"title": "Fetching all Jobs from \\"host_name\\"."}'第二种是使用原始字符串文字:s = r'{"title": "Fetching all Jobs from \"host_name\"."}'注意字符串前面的“r”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python