我想将单引号替换为双引号,这样我就可以调用 json 加载将其转换为 python 中的字典类型,这样我就可以提取键和值。下面的字典是字符串格式的。
{'first_name': "John", "age": 89}
我不知道正则表达式是否可行或任何其他方法。 请帮帮我
虽然您的示例字符串不是有效的 JSON,但它对于 python 字典是有效的;因此,您可以简单地使用 eval
dictStr = '''{'first_name': "John", "age": 89}'''
dictObj = eval(dictStr)
print('dictObj:', type(dictObj), repr(dictObj), '\n')
# import json
jsonStr = json.dumps(eval(dictStr))
print('jsonStr:', type(jsonStr), repr(jsonStr), '\n')
应该打印
dictObj: <class 'dict'> {'first_name': 'John', 'age': 89}
jsonStr: <class 'str'> '{"first_name": "John", "age": 89}'
jsonStr
正是你的标题所要求的,但我认为你的最终目标是
dictObj
,你可能认为你需要
jsonStr
[但在这种情况下你不需要它,因为你可以获得直接字典,需要修复 JSON。]