Python没有解析JSON API返回漂亮

时间:2012-07-24 19:23:35

标签: python json macos

我回顾了一些与我有关的问题,发现这有点独特。我在OS X 10.7上使用Python 2.7.1。还有一点需要注意:我不是开发人员,而是黑客。

我从Python documentation获取了下面的语法,试图做一个“漂亮的打印:”

date = {}
data = urllib2.urlopen(url)
s = json.dumps(data.read(), sort_keys=True, indent=4)
print '\n'.join([l.rstrip() for l in s.splitlines()])

我希望使用rstrip / splitlines命令可以扩展调用,如示例中所示。

另外,不确定它是否相关,但在将输出传递给python -mjson.tool时,回复为No JSON object could be decoded

这是我正在尝试解析的cURL输出的片段:

{"data":[{"name":"Site Member","created_at":"2012-07-24T11:22:04-07:00","activity_id":"500ee7cbbaf02xxx8e011e2e",

等等。

主要目标是使这些数据混乱更清晰,以便我可以从中学习并开始构建基于参数的一些自动数据抓取。任何让我从绿色到成功的指导都是一个巨大的帮助。

谢谢,
MJB

1 个答案:

答案 0 :(得分:2)

urllib2.urlopen()。read()的输出是一个字符串,需要先将其转换为对象,然后再调用json.dumps()

修改后的代码:

date = {}
data = urllib2.urlopen(url)
data_obj = json.loads(data.read())
s = json.dumps(data_obj, sort_keys=True, indent=4)
print s