web-dev-qa-db-fra.com

Javascript Escape Double Quotes

Comment échapper aux guillemets si la chaîne JSON est la suivante:

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

Je veux échapper aux guillemets secondaires dans la valeur TEST.

J'ai essayé cela mais ça ne marche pas.

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

Qu'est-ce que je rate?

15
MDuB

CA devrait etre:

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

D'abord, j'ai remplacé les guillemets extérieurs par des guillemets simples afin qu'ils n'entrent pas en conflit avec les guillemets intérieurs. Ensuite, je mets une barre oblique inverse avant les citations les plus profondes autour de TEST, pour leur échapper. Et j'ai échappé à la barre oblique inverse pour qu'elle soit traitée littéralement.

Vous pouvez obtenir le même résultat en utilisant une fonction JSON:

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

Ici la citation interne s'est échappée et la chaîne entière a été prise en une seule citation.

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