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 相关文章推荐
python中定义结构体的方法
Mar 04 Python
从源码解析Python的Flask框架中request对象的用法
Jun 02 Python
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
基于pandas向csv添加新的行和列
May 25 Python
基于python SMTP实现自动发送邮件教程解析
Jun 02 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
Keras设置以及获取权重的实现
Jun 19 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
python如何对链表操作
Oct 10 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
PHP中预定义的6种接口介绍
2015/05/12 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
JavaScript的Cookies
2008/01/16 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
jquery常用操作小结
2014/07/21 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Python中collections模块的基本使用教程
2018/12/07 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
聊城大学毕业生自荐书
2014/02/01 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
家长意见书
2015/06/04 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
导游词之上海豫园
2019/10/24 职场文书
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL