Python没有解析JSON数据,因为#符号后跟空格?

时间:2014-05-13 09:35:12

标签: python json

注意:

请参阅下面的编辑。除了在无法处理JSON数据格式的程序中使用模块的副作用外,这一点都没有。

我有一个JSON Feed,来自Instagram,它使用了许多#个符号。在大多数情况下,它已经解析了数据,但在一种情况下,我收到了一个看起来像这样的键值对:

    "type": "image",
    "title": "artistsonthelam",
    "text": ""
    My# heart Is With You Always.
    " #laser #installation by #traceyemin# abhk2014",

您可以在text字段中查看该问题。由于某种原因#后面跟text键中的空格(我认为),导致了问题。它逃脱了文本。

或者,这个人在text字段中使用了引号,并没有关闭它们,这也逃脱了文本? 我得到的错误是ValueError: Expecting ',' delimiter: line 464 column 9 (char 18272)

有人能告诉我问题是什么或更好,如何通过解析文本字段或用引号修复问题来解决问题?谢谢

修改 我不是通过Python检索这些数据,而是通过另一个程序中的模块检索这些数据,这些模块发出的HTTP请求无法正确处理JSON。它进行了检索,然后我尝试在Python中解析生成的字符串。问题是该模块没有获取有效的JSON,因此我无法正确解析它。感谢您的帮助,并对此感到抱歉。

1 个答案:

答案 0 :(得分:1)

您可以尝试为try执行except / ValueError,然后对其进行替换......

try:
    # read the json
except ValueError:
    if ... :  # Somehow check if the json is actually screwed
        re.sub(r'\"([^"]+)\"', "'\1'", json)

http://regex101.com/r/lY6zQ7

我认为如果Json键/值对包裹在'或'中没关系,对吗?