开发公司已解决json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

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





文章目录





报错代码



开发公司粉丝群里面的一个粉丝在用Python解析JSON文件,开发公司但是发生了报错(开发公司跑来找我求助,开发公司然后顺利帮助他解决了,开发公司顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息和代码如下:


with zfile.open(name, mode='r') as json_file:     print(json_file, type(json_file))     json_bytes = str(json_file.read())     # print(json_bytes,type(json_bytes))     json_list = json_bytes.split("\\r\\")     for i in json_list[0:1]:         print(i,type(i))         python_obj = json.loads(i)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8


报错信息截图如下(使用json模块经常遇见的bug):





报错翻译



报错信息翻译如下

从None引发JSONDecodeError(“期望值”,s,err.value)
json.decoder。JSONDecodeError:应为值:第1行第1列(字符0)



报错原因



报错原因

loads() 传的是python的dict字典类型,而我们刚刚传递的类型不符合,所以报错了。下面我们来讲解json模块常用的四个函数:

  • json.load():将一个存储在文件中的json对象(str)转化为相对应的python对象
  • json.loads():将一个json对象(str)转化为相对应的python对象
  • json.dump():将python的对象转化为对应的json对象(str),并存放在文件中
  • json.dumps(): 将python的对象转化为对应的json对象(str)



解决方法



使用eval进行转换

(1)操作步骤

a = '{"a":"1", "b":"1"}'b = eval(a)print(b, type(b))
  • 1
  • 2
  • 3

输出:

{‘a’:1, ‘b’:1} <classdict>
  • 1

这个时候再去用去读取就可以了


帮忙解决

本文已收录于:

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

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发