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)
加载它。
我有一个(无效的)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)
加载它。