Javascript Escape Double Quotes

时间:2014-07-03 17:09:25

标签: jquery json replace

如果JSON字符串是这样的话,你如何逃避双引号:

var str = "[{Company: "XYZ",Description: ""TEST""}]"

我想在值TEST中转义次要双引号。

我试过这个,但它不起作用。

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

我错过了什么?

2 个答案:

答案 0 :(得分:22)

应该是:

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

首先,我将外部引号更改为单引号,因此它们不会与内部引号发生冲突。然后我在TEST周围的最内层引号之前放入反斜杠,以逃避它们。我从反斜杠中逃脱,以便按字面意思对待。

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

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

答案 1 :(得分:1)

这里内部报价已转义,整个字符串采用单引号。

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