为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

犯罪嫌疑人X 2023-01-04 11:11:00
在 json 文件中双引号被转义,我不确定这里缺少什么import jsons = '{"title": "Fetching all Jobs from \"host_name\"."}'j = json.loads(s)print(j)ValueError: Expecting , delimiter: line 1 column 36 (char 35)
查看完整描述

5 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

你真的首先需要一个字符串吗?


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


# If you want a string, then here

import json

j = 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".'}


查看完整回答
反对 回复 2023-01-04
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

如果您json以这种方式使用,它可能对您有用:


import json


 s = ‘my string with “double quotes” and more’

json.dumps(s)

'"my string with \\"double quotes\\" and more"'


查看完整回答
反对 回复 2023-01-04
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

使用 r 字符串将帮助您转义 json 字符串中的内部引号。


import json

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

j = json.loads(s)

print(j)

但我不确定这是否是最佳做法。


查看完整回答
反对 回复 2023-01-04
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

这会帮助你


>>> 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"."}


查看完整回答
反对 回复 2023-01-04
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我知道有两种处理方法,第一种是转义'\':

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

第二种是使用原始字符串文字:

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

注意字符串前面的“r”。


查看完整回答
反对 回复 2023-01-04
  • 5 回答
  • 0 关注
  • 1123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信