python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决


Posted in Python onApril 29, 2019

在学习python语言中用json库解析网络数据时,我遇到了两个编译错误:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:和json.decoder.JSONDecodeError: Expecting value:。费了一些时间才找到原因,在此记录总结,希望能对学习python的同学有所帮助。

 我运行的程序初始如下:

import json
data='''
{
'name' : 'A',
'phone': { 'type' : 'intl', 'number' : +1 23456 },
'email' : {'hide' : 'yes'}
}'''
info=json.loads(data)
print("Name:",info["name"])
print("EmailAttri:",info["email"]["hide"])

运行后报错,显示错误为json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:,原来数据格式里string类型的数据要用双引号'' '',而不能用单引号' '。

 将里面的单引号一一改过来之后,编译器仍然报错:json.decoder.JSONDecodeError: Expecting value:。我以为是代码格式(缩进)的问题,反复修改后还是报错,这让我百思不得其解,在网上搜索了这一错误的解决方案,也没有找到合适的答案。最后,与老师的源代码逐一仔细比对,发现问题竟然出在"number"这个元素这里,我当时把它的值当作数字,其实在这里+1 23456是string类型,因此需要加上双引号。修改后程序如下,正确运行。

import json
data='''
{
"name" : "A",
"phone": { "type" : "intl", "number" : "+1 23456" },
"email" : {"hide" : "yes"}
}'''
info=json.loads(data)
print("Name:",info["name"])
print("EmailAttri:",info["email"]["hide"])

这个问题还有另一种解决方式,就是将+1 23456改写成123456,int类型,这样就不需要加双引号。
 我在网上搜索该问题时,发现有很多人也遇到了json.decoder.JSONDecodeError: Expecting value:这一错误,从我解决的过程中,我认为原因主要是数据的格式不正确。因此,如果是从网上爬取的数据,需要先检查一下数据格式设置是否符合json的要求,这样程序编译才能顺利通过。

更多趣事,python知识,可以关注小编的微信公众号【码农那点事儿】。

总结

以上所述是小编给大家介绍的python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python3中多线程编程的队列运作示例
Apr 16 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
python实现TF-IDF算法解析
Jan 02 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
Jupyter中直接显示Matplotlib的图形方法
May 24 Python
78行Python代码实现现微信撤回消息功能
Jul 26 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
Python计算IV值的示例讲解
Feb 28 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
python实现微信定时每天和女友发送消息
Apr 29 #Python
Python3.5常见内置方法参数用法实例详解
Apr 29 #Python
python微信撤回监测代码
Apr 29 #Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
Apr 29 #Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 #Python
python抓取需要扫微信登陆页面
Apr 29 #Python
python基于itchat模块实现微信防撤回
Apr 29 #Python
You might like
漂亮但不安全的CTB
2006/10/09 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
php处理带有中文URL的方法
2016/07/11 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
Python识别html主要文本框过程解析
2020/02/18 Python
python正则表达式实例代码
2020/03/03 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
初中学校军训方案
2014/05/09 职场文书
法院信息化建设方案
2014/05/21 职场文书
个人承诺书怎么写
2014/05/24 职场文书
装配出错检讨书
2014/09/23 职场文书
2015年植树节活动总结
2015/02/06 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
2019年亲子运动会口号
2019/10/11 职场文书