zl程序教程

您现在的位置是:首页 >  其他

当前栏目

已解决raise JSONDecodeError(“Expecting value”, s, err.value) from None

2023-04-18 16:14:25 时间

已解决raise JSONDecodeError(“Expecting value”, s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)









报错代码



粉丝群一个小伙伴想用Python读取json报错,但是还是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:

在这里插入图片描述



报错信息截图如下所示

在这里插入图片描述



报错翻译



报错信息翻译如下

将JSON解码错误(“预期值”,s,错误值)从None引发
json解码器。JSON解码错误:应为值:第1行第1列(字符0)




报错原因



报错原因

json.load()载入json文件时出现了错误,问题一般是由于json文件损坏或内容缺失,报错的意思是,你获取的数据json数据不是字典形式。



解决方法



(1)如果是爬虫报错的话,检查爬虫是否拿到字典形式json数据,才能通过json.loads 解析成python的字典形式


(2)如果是读取json文件出现这个错误:

  • 解决方法1:注意是否需要改为 encoding=‘gbk’

    with open('xxx.json','r', encoding='utf-8') as f: 
    	#若文件不为空但json_file读出来为空,注意编码格式是否匹配
    	json_file = json.load(f) 
    
  • 解决方法2::

    with open('xxx.json','r', encoding='utf-8') as f: 
    	json_file = json.loads(f.read())
    

帮忙解决

本文已收录于:《告别Bug》专栏

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!