我正在使用`JSON.stringify?字符串化一个对象,但引号不转义?我误解了它是否想逃避报价?
这将输出到模板中,而不会转义任何引号:
{"console":{"free":false}}
答案 0 :(得分:23)
它不会转义字符,不会有encodeURIComponent
,你可以一起使用它们,就像encodeURIComponent(JSON.stringify(obj))
答案 1 :(得分:8)
将对象字符串化两次做法
console.log(JSON.stringify(JSON.stringify({"console":{"free":false}})));
// "{\"console\":{\"free\":false}}"
答案 2 :(得分:6)
如果没有违规代码进行检查,我想知道是否还有其他事情发生。作为测试...
<div id="test"/>
var ex = {'test':'This is "text".'};
$('#test').text(JSON.stringify(ex));
输出:{"test":"This is \"text\"."}
(&lt;注意转义的双引号)
答案 3 :(得分:6)
属性名称周围的引号不应该被转义,只能在字符串内引用。你的JSON没问题:)