不幸的是,我收到了来自服务的文本格式的响应,我不能要求他们以 JSON 格式发送给我)下面是响应:
'{message: Successfully sent data for processing, execId: d03c96hg-4098-47b9-9e4b-3cb2c}'
我想将其转换为 dict 或 json,但我无法这样做,因为“{ }”中的字符串没有单引号或双引号。
我尝试过使用 json.loads()
、json.dumps()
、ast.literal()
以及其他一些方法, 但无法实现所需的输出。
期望的输出是:
{'message': 'Successfully sent data for processing', 'execId' : 'd03c96hg-4098-47b9-9e4b-3cb2c' }
最佳答案
通过一些字符串操作,您可以像这样转换:
代码:
def my_convert(a_string):
convert = a_string.replace(
': ', '": "').replace(
'}', '"}').replace(
', ', '", "').replace(
'{', '{"')
return json.loads(convert)
测试代码:
import json
data = '{message: Successfully sent data for processing, ' \
'execId: d03c96hg-4098-47b9-9e4b-3cb2c}'
print(my_convert(data))
结果:
{'message': 'Successfully sent data for processing', 'execId': 'd03c96hg-4098-47b9-9e4b-3cb2c'}
关于python - 在 Python 中加载不完全是 JSON 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48657067/