我有一个对象,
var obj = {};
我在哪里设置了一个属性
obj['prop'] = 'This is a "property"'
如何停止
JSON.stringify(obj)
返回
"This is a \"property\""
而是返回
"This is a "property""
理想情况下,有没有办法在我设置属性的地方执行此操作?即。
obj['prop'] = 'This is a "property"'
答案 0 :(得分:2)
如果您真的想要这个,可以使用类似JSON.stringify(obj).replace(/\\/g,'')
的内容。
小心:输出将不是有效的JSON,如果您有任何合法的数据,则可能会出现数据损失。 JSON中的反斜杠。
答案 1 :(得分:0)
正如评论中所解释的那样,您无法阻止双引号("
)被转义,因为该字符是保留的(在规范中定义)。你可以做的是使用一种解决方法:使用单引号'
来引用文本中的内容。
如果您仍想在此处看到双引号,那么它很难实现。将'
替换为"
是不够的,因为有些词自然地使用'
。与it's
或don't
const obj = {};
obj['myKey'] = "first word is 'Hello World'";
obj['anotherKey'] = "second word is 'Lorum Ispum'...";
console.log(JSON.stringify(obj));