博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json.loads()的字符串中为单引号引发的错误
阅读量:6080 次
发布时间:2019-06-20

本文共 895 字,大约阅读时间需要 2 分钟。

如下错误属于弱智错误,但是错的原因让我无语,所以记录一下 str2="{'card':6217001650004184441}" print(json.loads(str2))

Traceback (most recent call last):

File "G:/FastWorkStateServer/logs/redis_fabu.py", line 20, in <module>
print(json.loads(str2))
File "D:\python3.6.5\lib\json\__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "D:\python3.6.5\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\python3.6.5\lib\json\decoder.py", line 355, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

 

错误原因:字符串里用单引号来标识字符。

解决方法:将字符串里的单引号替换成双引号

import retest=re.sub('\'','\"',test)result=json.loads(test)result['data']'123'

 

对于带u'的字符串,u也要去掉:

c={u"test":124}d=re.sub("u'","\"",c)  json.loads(d)

 

转载于:https://www.cnblogs.com/rgcLOVEyaya/p/RGC_LOVE_YAYA_811days_4.html

你可能感兴趣的文章
Javascript中闭包(Closure)的探索(一)-基本概念
查看>>
spark高级排序彻底解秘
查看>>
ylbtech-LanguageSamples-PartialTypes(部分类型)
查看>>
福建省促进大数据发展:变分散式管理为统筹集中式管理
查看>>
开发环境、生产环境、测试环境的基本理解和区别
查看>>
tomcat多应用之间如何共享jar
查看>>
Flex前后台交互,service层调用后台服务的简单封装
查看>>
MySQL入门12-数据类型
查看>>
Windows Azure 保留已存在的虚拟网络外网IP(云服务)
查看>>
修改字符集
查看>>
HackTheGame 攻略 - 第四关
查看>>
js删除数组元素
查看>>
带空格文件名的处理(find xargs grep ..etc)
查看>>
华为Access、Hybrid和Trunk的区别和设置
查看>>
centos使用docker下安装mysql并配置、nginx
查看>>
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>