我在一个“utf-8 without BOM”编码的文件中有一个非常短的JSON代码:
{ "paths": ["A:\\path\\to\\dir"],
"anotherPath": "os.path.join(os.path.dirname( __file__ ), '..')"
}
我用不同的在线JSON验证器确保了它的有效性。 但是下面的Python代码。。。在
^{pr2}$。。。我收到这个错误:
No JSON object could be decoded
我知道路径是正确的,因为我在不同的地方成功地阅读了它的内容。 有什么问题吗?在
问题是没有BOM,实际上没有编码为UTF-8的文件。在
您可以生成一个文件,该文件的编码方式如下:
(是否需要
'b'
取决于您使用的是python2还是python3,以及您是在Windows还是Unix上。但如果没有必要,那是无害的。)现在,如果您对该文件运行代码,它就可以工作了。在
但是您可以将
test.json
文件与working\\path\\to\\myProgram.conf
文件进行比较,看看有什么区别。(大多数非Windows系统都带有命令行工具,如hexdump
;在Windows上,您可能需要一点爱好者才能发现差异。)相关问题 更多 >
编程相关推荐