针对于字符串{a:a1,b:{b1:bb}}这类字符串,强制转成json格式。因为转成json需要key和value都加上双引号。
因此不用动脑一劳永逸,将字符串中的所有字母数字都加上双引号。汉字除外。加上汉字的话,注意再增加[\u4e00-\u9fa5]即可,代码如下
def covert_string_to_json(str):
res=""
#所有字符串增加双引号
res=re.sub(r'([A-Za-z_][A-Za-z0-9_]*)', r'"\1"', str)
print(res)
json_dict=json.loads(res)
return json_dict
但是实际工作过程中会发现key和value都可能包含一些符号,因此以上方法不推荐。推荐较为复杂的方式。所以更加简单粗暴的方式
代码变更为
res=re.sub(r'(\w+)',r'"\1"',str)