转义python传递给Javascript(JSON)的数据

时间:2012-10-06 15:47:19

标签: javascript python json

我有一些数据需要传递给页面上的JavaScript。我正在使用jinja2生成我的页面,以下是这样的:

在python中:

some_json_data = json.dumps(some_data)

在jinja2:

JSON.parse('{% autoescape off %}{{ some_json_data }}{% endautoescape %}')

但是,有时,some_json_data可能包含\n字符串以及'字符串。是否有一个库/一些已知的函数可以用来逃避这些?

我知道我可以写这个函数没有问题,但我想知道是否已经有一个库或其他东西可以做到这一点。我一直在环顾四周,没找到任何东西。

附注:我的应用程序是使用Flask构建的

1 个答案:

答案 0 :(得分:1)

您不需要使用JSON.parse;输出已经是有效的JavaScript。然后,您不需要在JSON值周围加上引号。

通常,我的JavaScript看起来像:

<script language="javascript" type="text/javascript">
    var serverJSValue = {% autoescape off %}{{ some_json_data }}{% endautoescape %};
</script>