我有这个JSON文件,
{
"file_paths": {
"PROCESS": "C:\incoming",
"FAILED": "C:\failed"
}
}
我尝试访问PROCESS或FAILED时收到错误。错误是SyntaxError: Unexpected token i in JSON
。这必须是由于反斜杠。如何在不编辑JSON文件的情况下访问PROCESS或FAILED?
您需要转义JSON字符串中的反斜杠。
如果您自己构建JSON,则可以在构建时转义特殊字符。或者,如果你不是,作为一个后期处理,一旦你有了JSON文件,你就可以做一些像sed一样用反斜杠代替反斜杠(显然不是理想的解决方案)。
原因是因为JSON无效对\
没有逃脱,使读者认为i
试图逃脱
正如J Livengood所说,你需要在字符串里面逃避反斜杠。像这样:
var obj = {
"file_paths": {
"PROCESS": "C:\\incoming",
"FAILED": "C:\\failed"
}
}