我正在尝试解析这样的字符串
var temp = JSON.parse('{"FHPosition":"consultant","FDesc":"apr4","FHId":"i:0#.w|spdev\gkr"}'.replace("\\","\\\\"))
console.log(temp.FHId)
//expected output: i:0#.w|spdev\gkr
//actual output: i:0#.w|spdevgkr
但是当我尝试替换反斜杠或使用字符串反斜杠执行任何操作时,该字符串就会消失。 有什么方法可以替换反斜杠而不会消失?
答案 0 :(得分:0)
如this answer所示,除非反斜杠后面的字符是有效的转义序列(可以在here中找到一个列表),否则它将从字符串中完全删除反斜杠。我相信您首先需要在.replace()中使用正则表达式,其次您应该在解析语句中对数据进行字符串化,然后再替换它。尝试使用以下代码:
var temp = JSON.parse(JSON.stringify('{"FHPosition":"consultant","FDesc":"apr4","FHId":"i:0#.w|spdev\gkr"}').replace("\\","\\\\"))
console.log(temp.FHId);
希望这会有所帮助!