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 相关文章推荐
pygame播放音乐的方法
May 19 Python
使用python实现接口的方法
Jul 07 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
python如何读写json数据
Mar 21 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
Python字典对象实现原理详解
Jul 01 Python
Flask配置Cors跨域的实现
Jul 12 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
Tensorflow中的降维函数tf.reduce_*使用总结
Apr 20 Python
pytorch锁死在dataloader(训练时卡死)
May 28 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
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
Javascript实现的分页函数
2007/02/07 Javascript
js 调整select 位置的函数
2008/02/21 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
python计算文本文件行数的方法
2015/07/06 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
Pygame框架实现飞机大战
2020/08/07 Python
Python实现EM算法实例代码
2020/10/04 Python
如何定义一个可复用的服务
2014/09/30 面试题
应聘医药销售自荐书范文
2014/02/08 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
《木笛》教学反思
2014/03/01 职场文书
先进党支部申报材料
2014/12/24 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
独生子女证明范本
2015/06/19 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
使用CSS连接数据库的方式
2022/02/28 HTML / CSS