前言:
哇,老代码报错了,“Invalid control character at: line 35 column ”,不怕新代码出坑,就怕老代码报错…忧桑
1.前戏:
这是一个调用百度地图的查询接口的代码,用的是python最原始的json解析模块,使用json.loads解析数据
排错第一部:去网页上直接调用一下接口,返回数据看起来没毛病
排错第二部:借助接口调试工具postman查看数据,这个有毛病了,如下
讲道理,虽然提示有毛病,但是从返回字段看不出来,又去网页上看了一下返回数据,
好像有一个比较奇怪的字符
所以基本确定返回字符串解析出错
排错第三部:有问题找度娘
2.正题
度娘的意思是说,json.loads 解析时会检查返回的数据是否完全满足json格式,上面那个有特殊意义字符会导致json字符串格式变化,不满足完全的json格式,所以会报错,解决方式就是让json解析的时候别较真,加个参数strict=False
即:
json.loads(s=string, strict=False)
亲测可用