如何在服务器上转义Python中的单引号,以便在客户端的JavaScript中使用

如何在服务器上转义Python中的单引号,以便在客户端的JavaScript中使用,javascript,python,string,escaping,Javascript,Python,String,Escaping,考虑: >>> sample = "hello'world" >>> print sample hello'world >>> print sample.replace("'","\'") hello'world 在我的web应用程序中,我需要存储Python字符串,其中包含所有单引号,以便稍后在客户端浏览器JavaScript中进行操作。问题是Python使用了相同的反斜杠转义符号,因此上面详述的替换操作没有效果 有简单的解决方法吗?使用

考虑:

>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world
在我的web应用程序中,我需要存储Python字符串,其中包含所有单引号,以便稍后在客户端浏览器JavaScript中进行操作。问题是Python使用了相同的反斜杠转义符号,因此上面详述的替换操作没有效果

有简单的解决方法吗?

使用:

sample.replace("'", r"\'")


作为将Python数据传递给JavaScript的通用解决方案,考虑使用<代码> JSON< /Cord>库(Python 2.6 +中的标准库的一部分)对其进行序列化。< /P>


+1这可以安全地处理反斜杠、换行符和Unicode,而仅仅是在撇号处进行黑客攻击是不会的。我试图在json中转义
字符…常识再次出现。我的python 2.7.2没有这样序列化。“hello'world”是product@GabeRainbow
不需要转义。
“你好”世界“
是一个有效、安全的JavaScript字符串文字。@Droogans在存储它之前尝试存储它,a=json.dumps(示例),然后您可以看到a='“hello\\ world”'这是非常错误的!试试这个:sample=“\\”;sample.replace(“'”,“\\'”)失败!
sample.replace("'", "\\'")
>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"