我有一个损坏的json,如下所示:
{'a': 'b', 'c': "abcd'efgh ijklm"}
在使用python json.loads之前,我需要做两件事:
\'
\'
除了双引号我不知道如何做这两个步骤。请帮忙。
答案 0 :(得分:1)
实际上,您无法使用json.loads
函数反序列化字符串,因为该字符串不包含有效的JSON文档。相反,您应该考虑使用ast.literal_eval
函数。
演示:
In [25]: import ast
In [26]: with open('inputfile') as f:
....: for d in map(ast.literal_eval, f):
....: print(d)
....:
{'c': "abcd'efgh ijklm", 'a': 'b'}
{'c': "abcdgfgfgg", 'a': 'b'}