【发布时间】:2012-05-03 13:28:18
【问题描述】:
我正在尝试使用 yajl-py 解析 GitHub 存档文件。我相信文件的基本格式是 JSON 对象流,所以文件本身不是有效的 JSON,但它包含的对象是。
为了测试这一点,我安装了yajl-py,然后使用他们的示例解析器(来自https://github.com/pykler/yajl-py/blob/master/examples/yajl_py_example.py)尝试解析文件:
python yajl_py_example.py < 2012-03-12-0.json
其中2012-03-12-0.json 是已解压缩的 GitHub 存档文件之一。
看来这类事情应该从他们在 Ruby 中的参考实现中起作用。 Python 包不处理 JSON 流吗?
顺便说一下,这是我得到的错误:
yajl.yajl_common.YajlError: parse error: trailing garbage
9478bbc3","type":"PushEvent"}{"repository":{"url":"https://g
(right here) ------^
【问题讨论】:
-
"我相信文件的基本格式是 JSON 对象流" 你是怎么得出这个结论的?我们可以检查文件吗?
-
当然,您可以看到带有
wget http://data.githubarchive.org/2012-03-12-0.json.gz | gzip -d > 2012-03-12-0.json的文件。它有几兆字节,有点大。 -
你知道了吗?您是否尝试过 allow_multiple_values 选项?
-
请参阅下面的答案以正确使用 Yajl-Py 解析您的文件。