Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)错误
文章目录
- 尝试解析空字符串会导致错误
- 错误的常见原因
- 尝试解析无效的 JSON 值
- 忘记用引号括起属性或字符串值
- 对属性或值使用单引号而不是双引号
- 确保你没有尾随逗号
- 发出 HTTP 请求时得到空响应
- 确保 API 不会以不正确的 Content-Type 响应
- 尝试读取一个空的 JSON 文件或错误地读取一个 JSON 文件
- 使用 try/except 语句来处理潜在的错误
- 确保不将文件路径传递给 json.loads()
- 使用 json.loads() 手动调用 read() 方法
- 在使用 json.loads() 之前尝试让你的 JSON 有效
- 通常导致错误的事情
- 总结
Python“json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) ”发生在我们试图解析一些无效的 JSON 时。
要解决该错误,请确保响应或文件不为空,或者在解析之前有条件地检查内容类型。
尝试解析空字符串会导致错误
这是一个非常简单的示例,说明错误是如何发生的。
import json# ⛔️ json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
result = json.loads('')
我们试图将一个空字符串当作有效的 JSON 来解析。
错误的常见原因
最常见的错误原因是:
- 尝试解析无效的 JSON 值(例如单引号或尾随逗号)。
- 从远程服务器(例如 204 或 404)获取空响应并尝试将其作为 JSON 进行解析。
- 尝试像解析 JSON 一样解析具有不同内容类型(例如文本/html)的响应。
- 尝试错误地读取 JSON 文件或尝试解析空 JSON 文件的内容。
尝试解析无效的 JSON 值
下面是一个存储无效 JSON 的文件示例。
example.json
{"id": 1,'name': "Alice","age": 30,"country": "Austria"
}
请注意
,名称属性用单引号引起来。
这会使 JSON 无效,并且尝试从文件中读取会导致错误。
import jsonfile_name = 'example.json'# ⛔️ json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 3 (char 15)
with open(file_name, 'r', encoding='utf-8') as f:my_data = json.load(f)print(my_data)
要解决该错误,需要确保将 JSON 中的所有键和字符串值用双引号引起来。
example.json
{"id": 1,"name": "Alice","age": 30,"country": "Austria"
}
现在 name 键用双引号括起来,我们可以安全地从文件中读取。
# ✅ works as expected
import jsonfile_name = 'example.json'with open(file_name, 'r', encoding='utf-8') as f:my_data = json.load(f)#
Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)错误相关推荐
- 【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 ...
- 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 ...
- json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
可以参考一波:https://stackoverflow.com/questions/16573332/jsondecodeerror-expecting-value-line-1-column-1- ...
- json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)
将python json字符串转为json的时候出现了:json.decoder.JSONDecodeError: Expecting ',' delimiter: line 12 column 55 ...
- 解决json解析报错:Expecting value: line 1 column 1 (char 0)
一般来说,出现这种Expecting value: line 1 column 1 (char 0)报错,一般原因都是返回的数据的格式不是json格式的. 今天在用flask写一个接口,测试接口的时候 ...
- json.decoder.JSONDecodeError: Expecting value: line 28 column 5 (char 731)
傻屌问题,看看是不是json.load读的文件是不是多了哪个符号. 比如这里最后面多了个逗号就报错............
- python中json.loads报错: Expecting ‘,‘ delimiter: line 1 column 3545 (char 3544)
在python中使用json.loads报错: Expecting ',' delimiter: line 1 column 3545 (char 3544) 原因: json字符串为: jsonSt ...
- json.loads解码字符串时出错:JSONDecodeError: Invalid \escape: line 1 column 2687 (char 2686)
一.问题描述 在使用爬虫爬取数据时使用json.loads()解码JSON数据时遇到如下错误: 1 致错语句: json_data = json.loads(str(star_infos).repla ...
- json.decoder.JSONDecodeError: Invalid \escape: line 1 column 44 (char 43)
import jsondict_str = '{ "content": ""\u003Cblockquote class=\"pgc-blockquo ...
最新文章
- linux自动下载ftp文件夹,Linux 下FTP定时执行批量下载文件
- [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面
- Prn.txt Con.txt(文件命名的问题)
- 安装和卸载mysql
- 基于余弦相似性的指纹匹配算法在WIFI室内定位上的应用(转)
- 利用 SQL Monitor 查看语句运行状态步骤
- 深入浅出之WPF基础教程
- stm32f107rc使用系统时钟延时不准
- 模糊c-均值聚类算法(FCM)
- vue中对鼠标划过事件处理方式
- 人工智能论文-人工智能技术在新冠病毒肺炎疫情防控中的应用
- QT QDataEdit
- 【读书笔记】吴军阅读与写作讲义
- 论文研读-多目标优化中的多源选择迁移框架
- 数电三:编码器和译码器
- docker 雷电模拟器
- xe-utils 计算:年份、月份、周、天、每月天数、月的第几周、年的第几天、年的第几周、日期倒计时、日期至今差距计算、任意日期格式化
- BGPv4-原理介绍+报文分析+配置示例
- Python课堂练习3
- 可以办理软件著作权的部门有哪些
热门文章
- 【KCF算法解析】High-Speed Tracking with Kernelized Correlation Filters笔记
- Android系统连接WIFI显示网络连接受限
- java IO笔记(StringReader/StringWriter)
- 1016: 构建矩阵
- Tensorflow.whl文件安装经验
- echarts 图例属性设置
- 吸顶灯怎么固定天花板_天花板吸顶灯如何进行安装? 安装中的注意事项有哪些?...
- 3岁开始学写字的孩子,为什么不如3岁开始学读经的孩子??
- 2018 ACMUG全球年会盛典在京圆满落幕,开启数据库创新变革之新征程
- 趣多多儿童玩具租赁网