JSON中的HTML标签(在Python中)

3 投票
2 回答
8683 浏览
提问于 2025-04-15 12:06

我明白这样做并不是最理想的情况,不过如果我真的需要在JSON标签里面放一些HTML,比如:

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

在Python中有没有办法做到这一点,而不需要事先对它进行转义呢?

一开始它会是一个字符串,所以我在想要不要写一个正则表达式来尝试匹配并转义这些内容,然后再处理。但我只是想确认一下,是否有更简单的方法。

2 个回答

1

你可以在这里放任何字符串,包括那些里面有HTML标签的字符串(你例子里的唯一问题是里面的",这会让任何解析器感到困惑)。

7

其实,根据你的HTML内容的不同,你可以在HTML中使用单引号,这样你可以写成:

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

不过,使用simplejson这个库,它是Python 2.6自带的一个json模块,它会自动帮你处理所有需要的转义字符:

>>> import simplejson
>>> simplejson.dumps({'node': {'list': '<ul><li class="lists">Hello World</li><ul>'}})
'{"node": {"list": "<ul><li class=\\"lists\\">Hello World</li><ul>"}}'

撰写回答