Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从unicode字符串加载json_Python_Json - Fatal编程技术网

Python 从unicode字符串加载json

Python 从unicode字符串加载json,python,json,Python,Json,我在文件中转储了一个json转储字符串。 以下是文件格式- { u'key1':u'abc' } 它是无效的json,因为它应该有双引号。如何将其转换为有效的json?如果您已从文件中读取此数据: s = """ { u'key1':u'abc' } """ 您可以使用ast.literal\u eval()将其转换为Python对象: 请注意,它可能不适用于其他内容,因为您似乎将字典的字符串(str()或repr())表示形式转储到文件中,而不是JSON。ast.literal\u

我在文件中转储了一个json转储字符串。 以下是文件格式-

{
u'key1':u'abc'
}

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

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

s = """
{
    u'key1':u'abc'
}
"""
您可以使用
ast.literal\u eval()
将其转换为Python对象:

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

供参考:

看起来您正在使用Python 2:


您应该使用this not json将其转储到文件中。实际上,这是一个Python
dict
import ast
data = ast.literal_eval(s)
# data = {'key1': 'abc'}