python json.load 的奇葩错误
json.load() 可以参数是文件对象, 但是这种方式会遇到莫名其妙的错误: No JSON object could be decoded
有的朋友说的是utf-8编码有BOM和无BOM造成的。
这个说法只是一方面, 我用notepad把文件转换成utf-8无BOM格式,还是会出同样的错误。
我就把文件读出来用json.loads()做处理, 然后就没有这样错误了。
fd = file(tmpfile) xiama = fd.read() #test = json.load(fd) try: xiama = json.loads(xiama) except: print tmpfile finally: fd.close()
另外, 可以在linux上做批量处理dos2unix filename。