python - 将转义字符串转换为 json
问题描述
我有一个像'{\'stringA\': "Hello Master\'s"}'
. 这应该转换为格式,如{"stringA": "Hello Master's"}
. 为了实现它,我写如下
input.replace("\'", "\"")
但是,它产生的输出为{"stringA": "Hello Master"s"}
- 这会破坏我的字符串。本质上,我得到了一个字符串转义的 json 字符串(带单引号),我需要将其转换为正确的 json 字符串,我可以调用json.loads
它 - 我应该如何实现它?我需要忽略 json 中的键和值中的单引号(`)。
解决方案
该字符串不是有效的 Json 字符串,因为它使用单引号。然而,它是字典的有效 Python 表示形式,因此您可以使用以下命令对其进行解析literal_eval
:
t = '{\'stringA\': "Hello Master\'s"}'
d = ast.literal_eval(t)
print(t)
js = json.dumps(d)
print(js)
给出作为输出:
{'stringA': "Hello Master's"}
{"stringA": "Hello Master's"}
推荐阅读
- javascript - 如何使用按钮重置反应表单输入值(与状态相关)?
- webpack - 使用 vuetify 加载器插件无法加载 CSS 样式和字体机器人(mdi 图标是)
- python - 如何从 Python 启动 Linux 提升权限窗口?
- python-3.x - python datetime strptime 意外输出
- r - 滚动平方根等函数
- jquery - ajax 在成功参数中是否有“值” - jquery?
- javascript - JavaScript onkeydown / addeventlistener
- javascript - 使用 angularfire2 分片到多个数据库
- angular - 无法绑定到“行”,因为它不是“ngx-datatable”的已知属性
- python-3.x - python3类型提示参数的不同类型