如何在Javascript对象文本中转义Backslash

How to escape Backslash in Javascript object literal

本文关键字:转义 Backslash 文本 对象 Javascript      更新时间:2023-10-17

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

我想在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 

我在这里错过了什么。使用Backslash 检查fiddle Object Literal

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

使用''''来转义''

var数据={s: 'localhost''''sqlserver'}

JSON.parse(JSON.stringfy(数据))

它是一个字符串文字,其中'是转义符,因此如果您想按原样使用',则需要使用另一个'(如'' )对其进行转义

'localhost''sqlserver'

演示:Fiddle

在将JSON作为字符串保存到db或somethis使用REGEX 之前

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