我正在尝试加载一个格式化为字典的字符串(实际程序从文件中读取这一行,它是一个非常大的文件,我无法手动修改)。
我需要将字符串行转换为 json 对象,以便检查特定键的值,例如 myJson[Date]
。
这是脚本:
import json
mystring = "{'Date': 'Fri, 19 Apr 2019 03:58:04 GMT', 'Server': 'Apache/2.4.39', 'Accept-Ranges': 'bytes'}"
mystring = json.dumps(mystring)
myJson = json.loads(mystring)
print(str(myJson.keys()))
print(str(myJson))
我收到此错误:
AttributeError: 'str' object has no attribute 'keys'
我怀疑 mystring
格式不符合,单引号应该是双引号?鉴于我有大量数据,我不能简单地使用简单的搜索/替换将单冒号替换为双冒号,因为单冒号可能包含在我不应该修改的值中。如果这是问题的原因,有没有办法只替换键/值对的冒号而不触及值中的冒号?我希望这不是问题所在。
原文由 user9371654 发布,翻译遵循 CC BY-SA 4.0 许可协议
与其处理单引号字符串并努力将其转换为 json,不如使用 ast 包将其转换为有效的字典。
结果是: