我正在尝试解析这样的字符串
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
但是,当我尝试用字符串替换反斜杠或执行任何操作时,反斜杠会从字符串中消失。有没有办法在不消失的情况下替换反斜杠?
发布于 2018-12-18 18:39:34
如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);希望这能有所帮助!
https://stackoverflow.com/questions/53830887
复制相似问题