如何在python中读取json文件?

如何在python中读取json文件?,python,json,python-3.x,Python,Json,Python 3.x,我刚开始学习JSON,我想从我的PC上读取一个JSON文件 我用json.loads()尝试了这个方法,我得到了这个错误:json.decoder.JSONDecodeError:Expecting','delimiter:line 9 column 20(char 135) 因此,我尝试从我的PC上加载JSON文件中的数据,使用open(),但我发现它没有返回字符串类型的输出,它给出了错误:TypeError:JSON对象必须是str、bytes或bytearray,而不是TextIOWrap

我刚开始学习JSON,我想从我的PC上读取一个JSON文件

我用
json.loads()
尝试了这个方法,我得到了这个错误:
json.decoder.JSONDecodeError:Expecting','delimiter:line 9 column 20(char 135)

因此,我尝试从我的PC上加载JSON文件中的数据,使用
open()
,但我发现它没有返回字符串类型的输出,它给出了错误:
TypeError:JSON对象必须是str、bytes或bytearray,而不是TextIOWrapper

然后我尝试使用
read()
,并给出了错误:
json.decoder.JSONDecodeError:期望值:第1行第1列(字符0)

我试过这些:

(一)

(二)

(三)


您想使用
json.load()
而不是
json.load()

例如:

 with open(file.json) as f:

      x = json.load(f)

您想使用
json.load()
而不是
json.load()

例如:

 with open(file.json) as f:

      x = json.load(f)

基于对

试试这个:

with open(absolute_json_file_path, encoding='utf-8-sig') as f:
    json_data = json.load(f)
    print(json_data)

基于对

试试这个:

with open(absolute_json_file_path, encoding='utf-8-sig') as f:
    json_data = json.load(f)
    print(json_data)

错误
期望值:第1行第1列(字符0)
表示从空文件读取。它无法解码空字符串。最好检查一下这个文件里有什么。或者您读取的文件可能与预期的不同。@furas这意味着该文件的格式不正确。@furas,@aero-blue在本例中,该文件已被读取。在每次读取之间,需要重新打开文件,或者需要使用
f.seek(0)
返回开始。您的问题实际上是第一个错误,尽管
第9行第20列(char 135)
。这表明您需要修复JSON文件中的格式错误,如果格式正确,第一个示例将正确读取JSON。错误
期望值:第1行第1列(char 0)
表示您从空文件读取。它无法解码空字符串。最好检查一下这个文件里有什么。或者您读取的文件可能与预期的不同。@furas这意味着该文件的格式不正确。@furas,@aero-blue在本例中,该文件已被读取。在每次读取之间,需要重新打开文件,或者需要使用
f.seek(0)
返回开始。您的问题实际上是第一个错误,尽管
第9行第20列(char 135)
。这表明您需要修复JSON文件中的格式错误,如果格式正确,您的第一个示例实际上将正确读取JSON。加载(f)JSON要容易得多。加载(f)JSON.load(f)
with open(absolute_json_file_path, encoding='utf-8-sig') as f:
    json_data = json.load(f)
    print(json_data)