【问题标题】:HTML tags within JSON (in Python)JSON 中的 HTML 标记(在 Python 中)
【发布时间】:2010-11-01 02:19:53
【问题描述】:

我知道这不是一个理想的情况,但是如果我需要在 JSON 标记中包含某种 HTML,例如:

{
    "node":
    {
        "list":"<ul><li class="lists">Hello World</li><ul>"
    }
}

这是否可以在 Python 中完成而无需事先转义?

它最初是一个字符串,所以我正在考虑编写一个正则表达式来尝试在处理之前匹配和转义这些,但我只是想确保没有更简单的方法。

【问题讨论】:

    标签: python json escaping markup


    【解决方案1】:

    嗯,根据你的 HTML 的多样性,你可以在 HTML 中使用单引号,所以你可以这样做:

    {
        "node":
        {
            "list": "<ul><li class='lists'>Hello World</li><ul>"
        }
    }
    

    但是,使用simplejson,它作为json module 内置在 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>"}}'
    

    【讨论】:

    • 正是我想要的。谢谢!
    【解决方案2】:

    您可以在那里使用任意字符串,包括恰好包含 HTML 标记的字符串(您的示例的唯一问题是内部 " 会混淆任何解析器)。

    【讨论】:

      猜你喜欢
      • 2013-02-24
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多