使用反斜杠node.js解析JSON

时间:2018-03-21 00:52:51

标签: json node.js

我有这个JSON文件,

{
  "file_paths": {
    "PROCESS": "C:\incoming",
    "FAILED": "C:\failed"
  }
}

当我尝试访问PROCESS或FAILED时出错。错误是SyntaxError: Unexpected token i in JSON。这必须是由于反斜杠。如何在不编辑JSON文件的情况下访问PROCESS或FAILED?

3 个答案:

答案 0 :(得分:1)

原因是因为\没有被转义的JSON无效,让读者认为i试图被转义

答案 1 :(得分:1)

正如J Livengood所说,你需要在字符串里面逃避反斜杠。像这样:

var obj = {
  "file_paths": {
    "PROCESS": "C:\\incoming",
    "FAILED": "C:\\failed"
  }
}

答案 2 :(得分:1)

您需要转义JSON字符串中的反斜杠。

如果您自己构建JSON,则可以在构建时转义特殊字符。或者,如果你不是,作为一个后期处理,一旦你有了JSON文件,你就可以做一些像sed一样用反斜杠代替反斜杠(显然不是理想的解决方案)。