Javascript 将JSON对象从服务器端Python获取到客户端Django模板中
服务器端,在Python中,我返回一个JSON对象,如下所示:Javascript 将JSON对象从服务器端Python获取到客户端Django模板中,javascript,django,json,Javascript,Django,Json,服务器端,在Python中,我返回一个JSON对象,如下所示: contactAddr = {'name' : name, …} contactAddrJSON = json.dumps(contactAddr) var _myAddressObj = '{{ contactAddrJSON|safe}}'; var adrObj = $.parseJSON(_myAddressObj); 客户端,我使用Django的模板引擎将该字符串转储到javascript变量中,并将其转换为如
contactAddr = {'name' : name, …}
contactAddrJSON = json.dumps(contactAddr)
var _myAddressObj = '{{ contactAddrJSON|safe}}';
var adrObj = $.parseJSON(_myAddressObj);
客户端,我使用Django的模板引擎将该字符串转储到javascript变量中,并将其转换为如下对象:
contactAddr = {'name' : name, …}
contactAddrJSON = json.dumps(contactAddr)
var _myAddressObj = '{{ contactAddrJSON|safe}}';
var adrObj = $.parseJSON(_myAddressObj);
这很有效,直到我得到一个名字里只有一句话的东西。我花了几个小时试图找出所有这些级别的字符串转义,以便将这个该死的对象转换成Javascript,但没有成功。我只需要它对单引号和双引号具有健壮性。有人能启发我吗?我的大脑在冒烟。你可以跳过解析过程。大多数JSON数据实际上是语法有效的JavaScript,因此您可以将其直接放入源代码中:
var adrObj = {{ contactAddrJSON|safe}};
这仍然会把事情弄得一团糟,因为单引号结束了字符串,然后字符串的其余内容被解释为代码。JSON中的字符串总是在双引号中,因此单引号不可能过早地关闭字符串。可能是
safe
选项不知怎么搞砸了输出?