跑爬虫总在json.loads()的时候报错:
json.decoder.JSONDecodeError: Invalid \escape: line 1 column 3190 (char 3189)
本来以为是loads(res.text)传的空值,打印下确实有值。翻译了一下大概就是说在Python对象传入的时候字典的键少引号。
解决方案:demjson会补全引号
今天主要对比三个包,json,simplejson,demjson:
simplejson
和json用法差不多有dump,dumps,load,loads。用法的话百度json相应的用法
demjson
encode()将Python对象成json
decode(text,encoding)解码成Python对象
encode_to_file(filename, obj, encoding='utf-8', overwrite=False, **kwargs)将Python对象编码为JSON并写入给定文件中
decode_file(filename, encoding=None, **kwargs)#对给定文件中的JSON进行解码
对比速度:###先感谢大神:json包比较
demjson:
from time import clock
obj = [u"ero", [[u"erode", u"腐蚀;侵蚀;磨损", u"0", u""], [u"erodent", u"侵