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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
python list使用示例 list中找连续的数字
Jan 27 Python
在Django的视图中使用form对象的方法
Jul 18 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
Python3.6笔记之将程序运行结果输出到文件的方法
Apr 22 Python
python docx 中文字体设置的操作方法
May 08 Python
通过实例解析python创建进程常用方法
Jun 19 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
关于python类SortedList详解
Sep 04 Python
Python 实现Mac 屏幕截图详解
Oct 05 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制作静态网站的模板框架
2006/10/09 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php自动载入类用法实例分析
2016/06/24 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
js调用图片隐藏&显示实现代码
2013/09/13 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
Python MD5文件生成码
2009/01/12 Python
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
python中xlrd模块的使用详解
2021/02/01 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
介绍一下#error预处理
2015/09/25 面试题
教师师德教育的自我评价
2013/10/31 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python