Skip to main content
 首页 » 编程设计

用于 utf-8 的 Python json.loads

2025年05月04日14zhengyun_ustc

我有一个(无效的)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 字典?

请您参考如下方法:

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