2014-10-26 124 views
2

中的字节0xae我刚发现我的json字符串包含一些特殊字符,例如Pandora ®utf8'编解码器无法解码位置

json.loads(str_to_load) 

我已经试过这对解决这个问题::

json.loads(unicode(str_to_load), "ISO-8859-1") 

显然,这似乎也不工作 当我使用这个我得到这个错误'utf8' codec can't decode byte 0xae in position: invalid start byte。如何解决这个问题?

json文件太大而无法在此处上传。

+0

这是否工作:'json.loads(str_to_load,编码= “ISO-8859-1”)'? – 2014-10-26 23:50:14

+0

@SimeonVisser现在最大的问题是,它是否返回了正确的数据? – 2014-10-27 01:37:45

+0

P.S.任何人在这个时代把任何不是UTF-8的东西放在网上都应该被鞭打。 – 2014-10-27 01:39:48

回答

4

可以在json.loads指定编码:

json.loads(str_to_load, encoding="ISO-8859-1") 
0

通过方法json.dumps默认ensure_ascii标志()设置为True。 要解决这个问题,该标志设置为False:

json.dumps(unicode(str_to_load), ensure_ascii = False) 
相关问题