Python无法解析JSON API返回漂亮
问题描述:
我回顾了一些与我的相关问题,发现它有点独特。我在OS X 10.7上使用Python 2.7.1。还有一点需要注意:我比开发人员更像是黑客。Python无法解析JSON API返回漂亮
我钩住语法下面从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
这里的卷曲输出的一个片段,我试图解析:
{"data":[{"name":"Site Member","created_at":"2012-07-24T11:22:04-07:00","activity_id":"500ee7cbbaf02xxx8e011e2e",
等等。
主要目标是使这些数据更加清晰易读,以便我可以从中学习,并根据参数构建一些自动抓取数据。任何指导让我从绿色到成功都是巨大的帮助。
谢谢,
MJB
答
的urllib2.urlopen()的输出。读()是一个字符串,需要被转换为第一对象可以调用它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
+0
就是这样!非常感谢。我很感激具体的解释,所以我可以开始分解这里的具体问题。我是一个通过试用和开发的开发人员。 – mbb 2012-07-25 14:08:37
你应该张贴例如输出,并说明有什么错,你得到的输出。 – 2012-07-24 19:26:39
你应该不需要'.rstrip()'。 'rstrip'删除末尾的空格,'json.dumps'不会引入。只是'json.dumps(d,sort_keys = True,indent = 4)'有什么问题? – Julian 2012-07-24 19:28:24
不是很自动化,但你[http://jsonlint.com/](http://jsonlint.com/)会为你打印json。 – CraigTeegarden 2012-07-24 19:28:48