我对字符串中的嵌套引号有以下问题:
作为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方式吗?
感谢您的帮助!