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。

 

posted @ 2016-07-05 15:26  mxking  阅读(2474)  评论(0编辑  收藏  举报