Javascript Escape Double Quotes

2019-01-14 16:43发布

问题:

How do you escape double quotes if the JSON string is this:

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

I want to escape the secondary double quotes in value TEST.

I have tried this but it does not work.

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

What am I missing?

回答1:

It should be:

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

First, I changed the outer quotes to single quotes, so they won't conflict with the inner quotes. Then I put backslash before the innermost quotes around TEST, to escape them. And I escaped the backslash so that it will be treated literally.

You can get the same result with use of a JSON function:

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


回答2:

Here inner Quote escaped and entire string taken in single Quote.

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