Javascript Escape Double Quotes

Как избежать двойных кавычек, если строка JSON такова:

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

Я хочу избежать вторичных двойных кавычек в значении TEST.

Я пробовал это, но он не работает.

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

Что мне не хватает?

Ответ 1

Это должно быть:

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

Во-первых, я изменил внешние кавычки на одинарные кавычки, поэтому они не будут конфликтовать с внутренними кавычками. Затем я делаю обратную косую черту перед сокровенными цитатами вокруг TEST, чтобы избежать их. И я ускользнул от обратной косой черты, так что это будет рассматриваться буквально.

Вы можете получить тот же результат с помощью функции JSON:

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

Ответ 2

Здесь внутренняя цитата скрыта, а целая строка взята в одной цитате.

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