-1

私は文字列を持っています

var myString = "[{"portal.home":"Home"},{"displaytag.tracking.id":"Item ID"}]";

次のように出力したい

myString  = '[{"portal.home":"Home"},{"displaytag.tracking.id":"Item ID"}]';
4

2 に答える 2

1

二重引用符を含む文字列を作成する場合、その中にエスケープされていない二重引用符を含めることはできません。

あなたは書くことができません

var myString = "A "B" C";

構文エラーになります。でも、

var myString = "A \"B\" C";

は次とまったく同じです。

var myString = 'A "B" C';

の結果の値はまったくmyString同じになります。最初の例では、最後の文字列にエスケープ マーカーが含まれているわけではありません。エスケープは文字列の作成を支援するためだけにあり、どちらの場合も正確に になります。タイプが文字列であることを示すために、ログに記録されるときに二重引用符で囲まれることがよくあります。A "B" C

したがって、実行console.log(myString);すると と表示されます"A "B" C"が、のmyString単にA "B" Cです。これは単に、開発者ツールが文字列を表現する方法の結果です。二重引用符で作成されたことを示す文字列自体については何もありません。開発者ツールは、値を特別な色でログに記録することもできますが、二重引用符で囲むことは、文字列を表す従来の方法です。

于 2013-01-25T11:23:57.753 に答える
0

あなたはそれを行うことができます.slice()

var newString =  "'" + myString.slice(1, -1) + "'";

または正規表現で:

var newString = myString.replace(/^"|"$/g, "'");
于 2013-01-25T11:19:01.063 に答える