我知道这不是一个理想的情况,但是如果我需要在 JSON 标记中包含某种 HTML,例如:
{
"node":
{
"list":"<ul><li class="lists">Hello World</li><ul>"
}
}
这是否可以在 Python 中完成而无需事先转义?
它最初是一个字符串,所以我正在考虑编写一个正则表达式来尝试在处理之前匹配和转义这些,但我只是想确保没有更简单的方法。
好吧,根据你的 HTML 的多样性,你可以在 HTML 中使用单引号,所以你可以这样做:
{
"node":
{
"list": "<ul><li class='lists'>Hello World</li><ul>"
}
}
但是,使用作为json 模块simplejson
内置于 Python 2.6 中的,它会自动执行您需要的任何转义:
>>> import simplejson
>>> simplejson.dumps({'node': {'list': '<ul><li class="lists">Hello World</li><ul>'}})
'{"node": {"list": "<ul><li class=\\"lists\\">Hello World</li><ul>"}}'
你可以在那里有任意字符串,包括那些碰巧包含 HTML 标记的字符串(你的示例的唯一问题是内部"
会混淆任何解析器)。