python的json.loads报错Invalid control character

前言:

哇,老代码报错了,“Invalid control character at: line 35 column ”,不怕新代码出坑,就怕老代码报错…忧桑

1.前戏:

这是一个调用百度地图的查询接口的代码,用的是python最原始的json解析模块,使用json.loads解析数据
排错第一部:去网页上直接调用一下接口,返回数据看起来没毛病
排错第二部:借助接口调试工具postman查看数据,这个有毛病了,如下
显示有毛病
讲道理,虽然提示有毛病,但是从返回字段看不出来,又去网页上看了一下返回数据,
0
好像有一个比较奇怪的字符
所以基本确定返回字符串解析出错
排错第三部:有问题找度娘

2.正题

度娘的意思是说,json.loads 解析时会检查返回的数据是否完全满足json格式,上面那个有特殊意义字符会导致json字符串格式变化,不满足完全的json格式,所以会报错,解决方式就是让json解析的时候别较真,加个参数strict=False
即:
json.loads(s=string, strict=False)
亲测可用

发布了76 篇原创文章 · 获赞 46 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qingquanyingyue/article/details/100762819