javascript - 不要转义双引号

标签 javascript json quotes double-quotes uglifyjs

据我发现,uglifyJS 会忽略单引号字符串中的转义双引号。

'test \" + foo + \"'

结果

'test " + foo + "'

这只是一种错误的行为。

我有一个 .js,我想缩小它,并且该数据必须转换为 JSON。但 JSON API 必须是这样的。

{
    string: "test \" + foo + \""
}

不是

{
    string: "test " + foo + ""
}

有没有办法配置 uglifyJS 使其不忽略 \"

目前,我丑化了我的 JavaScript,并将所有 \" 替换为占位符。在此之后,我用所有占位符进行字符串替换以使其正常工作。 但后来我的测试不起作用。

编辑:我的 Javascript 的 uglify 版本也必须是有效的 JSON 和有效的 Javascript

编辑:根据要求,真实示例的一部分。必须对该代码进行丑化,然后将其放入 JSON 中。

var privacylink = '#privacyButtonURL#';
link = '<a href=\"' + privacylink + '\" target=\"_blank\" style=\"color:#4398b5; text-decoration:underline;\">hear</a>';

丑化版本将是

var a="#privacyButtonURL#", b='<a href="'+a+'" target="_blank" style="color:#4398b5; text-decoration:underline;">hear</a>'

这行不通。

JSON.stringify('var a="#privacyButtonURL#", b='<a href="'+a+'" target="_blank" style="color:#4398b5; text-decoration:underline;">hear</a>'')

最佳答案

你想要:

'test \\" + foo + \\"'

引用: http://es5.github.io/#x7.8.4

关于javascript - 不要转义双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41020694/

相关文章:

javascript - 在 typescript 中使用 react-redux connect

javascript - 通过索引读取 localStorage 值

javascript - 路线正在下载页面而不是显示它

javascript - Node ||如何写入文件,然后在写入完成后读取它?

ios - Xpath 和引号下的字符串

mysql - MySQL 中何时使用单引号、双引号和反引号

javascript - 在对象内部使用 Angular $scope 变量

JavaScript $.parseJSON 错误 - SyntaxError : JSON. 解析:JSON 数据第 1 行第 1 列出现意外字符

python - 将类似dict的字符串转换为JSON

javascript - 带有dimple.js图表​​的嵌套JSON对象数据