Python json.loads 用于 utf-8

Python json.loads for utf-8

我有一个(无效的)json 文件,它是 UTF-8 格式

json的粗略图是:

{u'key': {u'key2': u'value'}, ...., u'key3' : u'value'}

执行简单的 python json.loads() 会导致以下错误:

ValueError: Expecting property name: line 1 column 2 (char 1)

根据 SO 上的一些相关答案,我尝试将其转换为 unicode:

line = unicode(line,'utf-8')
data = json.loads(line)


ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

我能想到的一个解决方案是用双引号替换所有单引号并继续,但我在想 - 如果有更简单的解决方案来解析文件以获取 python dict?

这是不是JSON!它看起来像是通过 repr 进行的 python 序列化,您可以使用 ast-模块中的 ast.literal_eval(node_or_string) 加载它。