Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript对象文本中转义反斜杠_Javascript_Jquery_Regex_Json_Escaping - Fatal编程技术网

如何在Javascript对象文本中转义反斜杠

如何在Javascript对象文本中转义反斜杠,javascript,jquery,regex,json,escaping,Javascript,Jquery,Regex,Json,Escaping,我知道这个问题被问了很多次,我把所有的问题都问了一遍。但是没有一个对我的处境有帮助。我有一个object literal,对于其中一个属性,我分配了一些带有反斜杠字符的字符串,但是在读取该属性时,反斜杠被截断了 我想在JSON.Stringify方法中使用这个对象文字。根据JSON,不允许使用反斜杠。我们需要逃离它。有办法吗 我无法修改数据以添加额外的反斜杠,因为数据来自服务器。”localhost\sqlserver'。之后,我需要更换它 对象文字 var data={ s:'loca

我知道这个问题被问了很多次,我把所有的问题都问了一遍。但是没有一个对我的处境有帮助。我有一个object literal,对于其中一个属性,我分配了一些带有反斜杠字符的字符串,但是在读取该属性时,反斜杠被截断了

我想在JSON.Stringify方法中使用这个对象文字。根据JSON,不允许使用反斜杠。我们需要逃离它。有办法吗

我无法修改数据以添加额外的反斜杠,因为数据来自服务器。”localhost\sqlserver'。之后,我需要更换它

对象文字

var data={
    s:'localhost\sqlserver'
}


function replaceToUpper(value) { 
    return   value.replace(/\\n/g, "\\n") 
                                      .replace(/\\'/g, "\\'") 
                                      .replace(/\\&/g, "\\&") 
                                      .replace(/\\r/g, "\\r") 
                                      .replace(/\\t/g, "\\t") 
                                      .replace(/\\b/g, "\\b") 
                                      .replace(/\\f/g, "\\f"); 
}
//读取数据

alert(replaceToUpper(data.s));
尝试2:

var values =JSON.stringify(data); // here that backslash getting trucunated 
我错过了什么。检查小提琴


我无法修改数据以添加额外的反斜杠,因为数据来自服务器。”localhost\sqlserver'。之后,我需要更换它。我知道添加额外的黑斜杠会对我有帮助。但是我不能修改数据。

它是一个字符串文字,其中
\
是一个转义字符,因此如果您想使用
\
原样,则需要使用另一个
\
来转义它,如
\

'localhost\\sqlserver'
演示:

使用\\转义\

风险值数据={ s:'localhost\\sqlserver'}


JSON.parse(JSON.stringify(data))

在将JSON另存为字符串到db或其他文件之前使用正则表达式

JSON.stringify(drivers).replace(/"/g, '\\"')

我只是集中反斜杠。我不知道为什么它不起作用这个问题似乎离题了,因为我已经更改了数据层,这样它就可以逃逸数据。因为这个问题对任何其他人都没有帮助。请关闭它。我无法修改数据,数据来自服务器。”localhost\sqlserver'。之后,我需要更换它。我通过添加额外的反斜杠来了解这一点。我想用javascript替换它。不是由manually@Ravi那么我认为你不能做很多事情,因为字符串将转义
`。。。尝试在浏览器控制台中键入
“localhost\sqlserver”``已转义