如何在python中读取json文件?
我刚开始学习JSON,我想从我的PC上读取一个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.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)