Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON对象从服务器端Python获取到客户端Django模板中_Javascript_Django_Json - Fatal编程技术网

Javascript 将JSON对象从服务器端Python获取到客户端Django模板中

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变量中,并将其转换为如

服务器端,在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);

这很有效,直到我得到一个名字里只有一句话的东西。我花了几个小时试图找出所有这些级别的字符串转义,以便将这个该死的对象转换成Javascript,但没有成功。我只需要它对单引号和双引号具有健壮性。有人能启发我吗?我的大脑在冒烟。

你可以跳过解析过程。大多数JSON数据实际上是语法有效的JavaScript,因此您可以将其直接放入源代码中:

var adrObj = {{ contactAddrJSON|safe}};

这仍然会把事情弄得一团糟,因为单引号结束了字符串,然后字符串的其余内容被解释为代码。JSON中的字符串总是在双引号中,因此单引号不可能过早地关闭字符串。可能是
safe
选项不知怎么搞砸了输出?