-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 回答