Jquery JavaScript-转义双引号

Jquery JavaScript-转义双引号,jquery,json,replace,Jquery,Json,Replace,如果JSON字符串如下所示,如何转义双引号 var str = "[{Company: "XYZ",Description: ""TEST""}]" 我想在值测试中转义二次双引号 我试过以下方法,但不起作用 var escapeStr = str.replace(/""/g,'\"'); 我遗漏了什么?在这里,内部引号被转义,整个字符串被包含在一个引号中 var str = '[{

如果JSON字符串如下所示,如何转义双引号

var str = "[{Company: "XYZ",Description: ""TEST""}]"
我想在值测试中转义二次双引号

我试过以下方法,但不起作用

var escapeStr = str.replace(/""/g,'\"');

我遗漏了什么?

在这里,内部引号被转义,整个字符串被包含在一个引号中

var str = '[{ "Company": "XYZ", "Description": "\\"TEST\\""}]';
应该是:

var str='[{"Company": "XYZ","Description": "\\"TEST\\""}]';
首先,我将外部引号更改为单引号,这样它们就不会与内部引号冲突。然后我在
TEST
最里面的引号前加上反斜杠,以逃避它们。我避开了反斜杠,所以它会被逐字处理

使用JSON函数可以得到相同的结果:

var str=JSON.stringify({Company: "XYZ", Description: '"TEST"'});

为什么您要自己构造JSON而不是使用
JSON.stringify
?作为旁注,您使用的正则表达式是不正确的,它应该是
str.replace(/“/g,”\”)
相关的:第一个示例仍然无效。JSON对象键也必须是双引号。不过,我们确实应该为此使用
JSON.stringify
。谢谢,我没有注意到他漏掉了那些引号。在我的示例中,我忘记了双重引用JSON对象。我将尝试JSON.stringify。Thank.btw JSON对象键也必须是双引号。