如何将单引号符号(')转换为JSON.parse的字符串?

问题描述:

我得到了很多来自Django的数据转化为模板:如何将单引号符号(')转换为JSON.parse的字符串?

var dataFromServer = JSON.parse('{{ delivery_provider|jsonify }}'); 

的任何时间进入Django的数据提出了这样的

{"id": 1, "company_name": "User's company", "address": null } 

一些符号'我的javascript代码崩溃,错误

Uncaught SyntaxError: Unexpected identifier 

因为符号'在正面对字符串有错误的解释。

如何通过Python/Django来逃避这种引用符号?或者,在前端存在一些解决方案?

+0

你能提供一个例子吗?因为解析你的测试数据适合我,如果你抛弃'JSON.parse' https://jsfiddle.net/0v4j9qs5/。因此,请尝试从您的js代码中删除'JSON.parse',然后再试一次 – Denny

+0

您需要确保'{{delivery_provider | jsonify}}生成的字符串全部替换为'''' –

+0

Mikael ,我不是Python/Django程序员,我现在没有如何与他一起工作逃脱符号 – ivan

看看escapejs template tag。 来自django文档:

转义字符以用于JavaScript字符串。

所以,你的情况可能是:

var dataFromServer = JSON.parse('{{ delivery_provider|jsonify|escapejs }}'); 

另外,如果你使用django-jsonify,没有在文档使用示例:

var items = {{ items|jsonify }}; 

这意味着,提交人打算跳过你所做的部分JSON.parse并将对象直接放到JavaScript代码中。