已解决(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\\n")for i in json_list[0:1]:print(i,type(i))python_obj = json.loads(i)

报错信息截图如下(使用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))

输出:

{‘a’: ‘1’, ‘b’: ‘1’} <class ‘dict’>

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

帮忙解决

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

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

已解决json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)相关推荐

  1. 【debug】json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    摘要 环境: 编程语言:Python 3.7 操作系统:Win 10 json数据对象:https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO ...

  2. json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 问题解决

    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 问题解决 参考文章: (1)json.decoder.J ...

  3. (已解决)json.decoder.JSONDecodeError: Extra data: line 1 column 47 (char 46)

    问题描述 *json.load(file)*出现上述错误. 原因是file中包含不止一条记录.json.load函数只能解析一条记录. 解决方案 将多条记录强行封装为一条,便可读取. Referenc ...

  4. json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    可以参考一波:https://stackoverflow.com/questions/16573332/jsondecodeerror-expecting-value-line-1-column-1- ...

  5. json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)

    将python json字符串转为json的时候出现了:json.decoder.JSONDecodeError: Expecting ',' delimiter: line 12 column 55 ...

  6. json.decoder.JSONDecodeError: Expecting value: line 28 column 5 (char 731)

    傻屌问题,看看是不是json.load读的文件是不是多了哪个符号. 比如这里最后面多了个逗号就报错............

  7. Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)错误

    文章目录 尝试解析空字符串会导致错误 错误的常见原因 尝试解析无效的 JSON 值 忘记用引号括起属性或字符串值 对属性或值使用单引号而不是双引号 确保你没有尾随逗号 发出 HTTP 请求时得到空响应 ...

  8. json.decoder.JSONDecodeError: Invalid \escape: line 1 column 44 (char 43)

    import jsondict_str = '{ "content": ""\u003Cblockquote class=\"pgc-blockquo ...

  9. 解决json.loads()错误Expecting ‘,‘ delimiter: line 1 column

    for i,list in enumerate((json.loads(v.strip()) for v in f.readlines())):course_list.append(list) 在用j ...

  10. raise JSONDecodeError(“Extra data“, s, end) json.decoder.JSONDecodeError: Extra data: line 1 column

    raise JSONDecodeError("Extra data", s, end) json.decoder.JSONDecodeError: Extra data: line ...

最新文章

  1. 用法 stl_PoEdu培训第四课-C++之STL
  2. 对python源码进行编译,加密python脚本
  3. Effective Java之考虑用序列化代理代理序列化实例(七十八)
  4. 数据结构杂谈番外篇——时间复杂度计算
  5. 面试突击32:为什么创建线程池一定要用ThreadPoolExecutor?
  6. 嵌入式Linux操作系统移植IMX6开发板之实现USB 自动挂载
  7. 【车联网】一文了解5G在车联网中的应用
  8. opencv-api arcLength
  9. easyUI的使用.datagrid()生成列表日期时间显示异常,一个方法带入有效修复
  10. javac -version ;java -version不一致
  11. pycharm访问服务器终端
  12. lisp语言画地物符号_地形图中的地物符号说明汇总
  13. MySQL倒计时查询剩余时间xx年xx月xx天
  14. 算法精解----log符号什么意思
  15. Windows---命令打开截图工具,.bat文件执行
  16. 哪个品牌的触控笔质量好?ipad好用的触控笔
  17. unity2019安装完后打不开直接闪退_VS2019打不开或没反应该怎么解决?
  18. 带你了解递归算法的时间复杂度
  19. TCP/IP协议,卷一第42页错误
  20. Keras loss函数

热门文章

  1. 我是如何从零开始自学Android到一万月薪的
  2. 学计算机的买HP合适吗,大学生买笔记本电脑,这样选就对了。
  3. ps切图技巧、基础工具,使用方法总结
  4. p=p-next 表达了什么意思
  5. iPhone12或再引领轻薄时尚风潮,半斤机将被抛弃
  6. DLT - Diagnostic Log and Trace简介
  7. 【UVa 12304】2D Geometry 110 in 1! (计算几何、圆)
  8. [Asp.net Core]局部视图
  9. 1、STM32通过软件IIC连接ADXL345(ADXL345使用遇到的一些坑)
  10. 基于stm32的车辆减速灯项目——MPU6050或ADXL345