繁体   English   中英

如何用转义符代替双引号?

[英]How do I replace double quotes with its escape?

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

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

因此,它应该最终看起来像这样:

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

我知道您可以使用replace函数,但无法正常工作。

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

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'}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM