如何用它的转义替换双引号?

时间:2013-09-06 18:00:02

标签: javascript

var string = "{ "Name": ""Jack"" }"

我想用\“替换双引号,以便变量成为有效的JSON。

所以,它应该看起来像这样:

string = "{ "Name": \""Jack"\" }"

我知道你可以使用替换功能,但我没有让它工作。

1 个答案:

答案 0 :(得分:1)

在每个应该转义的双引号前加一个反斜杠。

var string = "{\"Name\":\"\\\"Jack\\\"\"}"

然而,你的问题非常像XY问题,你试图以完全错误的方式做某事!当涉及JSON时,你通常不必处理转义等问题。

最初你可能有一个对象。我们假设obj = {Name: "Jack"}。现在你显然想要对它进行JSON编码。在JavaScript中,您使用JSON.stringify(obj),在PHP中,您需要json_encode($obj)。但是,如果要将其分配给JS变量,则可以将编码后的JSON放在obj =之后,就像这样。如果你真的必须在某处放置一个JSON 字符串,你可以再次在字符串上运行JSON编码器(这就是我在这篇文章中创建字符串的方式):

JSON.stringify(JSON.stringify({Name: 'Jack'}))