python3通过pycharm编译器调用requests接口返回JSON格式Unexpected UTF-8 BOM (decode using utf-8-sig) 5

代码如下:classhttp:def__init__(self,url,data):self.url=urlself.data=datadefhttpPost(self)... 代码如下:
class http:
def __init__(self,url,data):
self.url = url
self.data = data

def httpPost(self):
req = requests.post(self.url,self.data)
return req.json()

访问时报错信息:
Traceback (most recent call last):
File "C:/Python34/YunYingPingTai/Channel/HttpRequest.py", line 26, in <module>
print(t.json())
File "C:\Python34\lib\site-packages\requests\models.py", line 892, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Python34\lib\json\__init__.py", line 314, in loads
raise ValueError("Unexpected UTF-8 BOM (decode using utf-8-sig)")
ValueError: Unexpected UTF-8 BOM (decode using utf-8-sig)

大佬们求帮帮忙啊啊啊啊啊啊啊
展开
 我来答
t8116189520
2018-11-12 · TA获得超过379个赞
知道小有建树答主
回答量:374
采纳率:73%
帮助的人:80.2万
展开全部

因为你的req内容包含BOM字符,去掉req中BOM头的方法如下

if req.startswith(u'\ufeff'):
    req = req.encode('utf8')[3:].decode('utf8')
追问

我想请问下,我把去除BOM的这个代码,加在哪里呢;我比较菜,我之前百度到的方法大概也是这么讲的,只是不清楚加在哪里,然后怎么把去除BOM后的JSON打印出来,帮帮我。谢谢!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式