从unicode字符串加载json

时间:2018-01-16 12:01:48

标签: python json

我将一个json转储字符串转储到文件中。 这是文件格式 -

{
u'key1':u'abc'
}

它是无效的json,因为它应该有双引号。如何将其转换为有效的json?

1 个答案:

答案 0 :(得分:1)

如果您已从文件中读取此数据:

s = """
{
    u'key1':u'abc'
}
"""

您可以使用ast.literal_eval()将其转换为Python对象:

import ast
data = ast.literal_eval(s)
# data = {'key1': 'abc'}

请注意,它可能无法与其他内容一起使用,因为您似乎将字典的字符串(str()repr())表示转储到文件中,而不是JSON。 ast.literal_eval()可能无法读取其他更复杂的类型。 您应该使用json模块来生成并向文件写入适当的JSON。

供参考:

看起来你正在使用Python 2: