3

我对字符串中的嵌套引号有以下问题:

作为 json 块的一部分,通常有一些字符串本身包含双引号,这是 json 中唯一允许的字符串限制器。我说的是这样的事情(摘录,实际上 json 块还有更多元素):

{"truncated": false,
"source": "u003Ca href="http: //mobile.twitter.com" rel="nofollow"u003EMobile Webu003C/au003E",
"id_str": "177386775671615488",
"geo": null}

我正在尝试在 Python 中解析这个 json 块。显然,由于 "source" 的值中有多余的双引号,json 格式会变得混乱。

不幸的是,这些乱七八糟的字符串是使用输入的,所以我不能只返回源并告诉它给我正确的 json 数据。一些真实的人曾经输入了一个包含双引号的字符串,这个字符串现在在我的 json 数据中显示为一个用双引号分隔的字符串。数据实际上来自 Twitter API,也许有人遇到过类似的问题或经验。我很难想象 Twitter 允许这样做,或者没有适当的机制来防止其 json 被破坏。

我现在的问题是:如何删除字符串中多余的双引号,以免我的 json 被破坏?我实际上不需要这些字符串中的数据,我需要 json 块的不同部分。因此,如果有一种聪明的方法可以完全删除它们,那将是完美的。不幸的是,额外的双引号出现在各种不同的地方,所以我不能使用某种“仅删除最外层引号”的机制,也不能删除所有双引号,因为在大多数地方它们是 json 语法的一部分。是否有一种聪明的RE方式来做到这一点?

谢谢你的帮助!

4

0 回答 0