从字符串到JSON格式中正确删除多余的报价

时间:2019-02-26 09:40:01

标签: python json dictionary

例如:我有一个类似

的字符串
{"key": {"value": "this," is the "value" of guy""}}

我希望此字符串以一种格式出现,以便可以使用python的json.loads函数加载它。

{"key": {"value": "this, is the value of guy"}}

是否有任何内置的python函数可以执行此操作或正则表达式,我尝试了许多正则表达式,但是随着时间的推移,不同的字符串会变得越来越糟。

1 个答案:

答案 0 :(得分:0)

您可以将re.sub与超前模式一起使用,以匹配双引号和后跟冒号或右括号,并从外部引号中的引号中去除引号:

import re
s = '{"key": {"value": "this," is the "value" of guy""}}'
print(re.sub(r'"(.*?)"(?=\s*[:}\]])', lambda m: '"%s"' % m.group(1).replace('"', ''), s))

这将输出:

{"key": {"value": "this, is the value of guy"}}
相关问题