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 对目录下的文件进行过滤删除
Dec 27 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
Python和Anaconda和Pycharm安装教程图文详解
Feb 04 Python
如何使用python切换hosts文件
Apr 29 Python
Python run()函数和start()函数的比较和差别介绍
May 03 Python
python Timer 类使用介绍
Dec 28 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php木马webshell扫描器代码
2012/01/25 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
PHP中文编码小技巧
2014/12/25 PHP
PHP7.0版本备注
2015/07/23 PHP
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
详解Vue如何支持JSX语法
2017/11/10 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
Python中变量交换的例子
2014/08/25 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
Python底层封装实现方法详解
2020/01/22 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
Python 忽略文件名编码的方法
2020/08/01 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
一套.net面试题及答案
2016/11/02 面试题
出纳会计岗位职责
2014/03/12 职场文书
政风行风建设整改方案
2014/10/27 职场文书
会计工作能力自我评价
2015/03/05 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
车间安全生产管理制度
2015/08/06 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js