繁体   English   中英

字符转义:从Python字符串文字到JSON再到HTML

[英]character escaping: from Python string literal to JSON and then to HTML

我设计了一个JSON对象,用作AJAX响应的格式,发送回我的Web应用程序的客户端。 我正在通过将html代码放入其中来增强它。 但由于缺乏关于这一主题的精确知识和经验,所需的角色逃脱使我感到相当不舒服。

我使用Python / Django作为我的服务器端语言/框架。 要从Python字符串文字到适当的HTML节点供浏览器使用,我对字符转义的模糊知识,我想我需要两个阶段的字符转义:

  1. 将Python字符串文字序列化为JSON并根据JSON的要求转义字符。
  2. 在客户端收到JSON对象后,根据HTML的要求转义字符。 请注意,我使用jQuery。

我对上述两个阶段的观点是否正确? 如果是这样,我怎样才能实现它们?

如果您更容易用一个例子来解释。 这是一个:

s = '<a href="http://www.foo.com/bar/">"Click Here&Here"</a>'

其中s是Python字符串文字。 我想看到它成为

<a href="http://www.foo.com/bar/">"Click Here&amp;Here"</a>

在HTML中。

你需要逃避客户端吗? 在将其编码为JSON之前,您可以在Python中执行此操作:

from cgi import escape
from json import dumps

ajax_response = dumps(escape('<a href="http://www.example.com/path/location'
                             '?query=string&more=this#anchor">'
                             'FooBar & Friends</a>'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM