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 相关文章推荐
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python实现简单聊天应用 python群聊和点对点均实现
Sep 14 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
Jun 13 Python
Python中关键字global和nonlocal的区别详解
Sep 03 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
通过python爬虫赚钱的方法
Jan 29 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
Python 调用C++封装的进一步探索交流
Mar 04 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读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
javascript 写类方式之五
2009/07/05 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
require.js中的define函数详解
2017/07/10 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
Python base64编码解码实例
2015/06/21 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
python设置环境变量的作用和实例
2019/07/09 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
小结Python的反射机制
2020/09/28 Python
Django数据库迁移常见使用方法
2020/11/12 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
python的dict判断key是否存在的方法
2020/12/09 Python
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
大学生饮食配送创业计划书
2014/01/04 职场文书
干部培训自我鉴定
2014/01/22 职场文书
淘宝活动总结范文
2014/06/26 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
田径运动会通讯稿
2015/07/18 职场文书