python json模块出现Invalid control character这个异常的原因

 今天在查看日志的时候,发现一个问题,觉得很奇怪,跑了一个多月的代码突然报错了,还是个没见过的错误。

所以今晚抽空记录下。

 

一、重现错误

说好的传过来的数据是json格式的呢?怎么会突然报错了呢?

 

二、抓取错误数据

然后就把这条报错的数据,打印出来看下是什么样的数据。

 

不能直接在代码里测试这个不规范的json数据,因为不符合代码规范会直接报错,所以我这里起了一个服务,用postman模拟数据发送。

如下图:

现在错误很明显,是由于发送过来的数据不规范导致的

 

三、网上查找相关资料

谷歌一下:

加上参数strict=False即可

结果:

 

当我们知道数据错在哪里之后,其实可以在json.loads之前就转化为规范的json数据,但是很多时候我们是不知道数据什么时候会出问题的,也不知道出什么样的问题,

所以直接加上strict=False是最好的选择

posted @ 2019-03-20 20:50  飞鸟的梦想  阅读(2959)  评论(0编辑  收藏  举报