所以我试图从URl获取json并且请求有效并且我得到json但是我无法从中打印特定的东西。
request_url = 'http://api.tumblr.com/v2/user/following?limit=1'
r = requests.get(request_url, auth=oauth).json()
r["updated"]
我是python的新手我猜我需要将json放入数组但我不知道从哪里开始。
根据tumblr api,我应该可以得到这样的东西。
{
"meta": {
"status": 200,
"msg": "OK"
},
"response": {
"total_blogs": 4965,
"blogs": [
{
"name": "xxxxx",
"title": "xxxxxx",
"description": "",
"url": "http://xxxxxx.tumblr.com/",
"updated": 1439795949
}
]
}
}
我只需要名称,网址,并且更新后根本不知道如何将其分开。
答案 0 :(得分:0)
您应该能够打印值,就好像它是嵌套数组一样:
r["response"]["blogs"][0]["updated"]
应该为您提供最新信息,不要直接进行。干得好。请注意博客是一个数组,因此在正常情况下,您可能真的希望使用r["response"]["blogs"]
,然后遍历它,并为每个项目抓住["updated"]
。
同样,r["meta"]["msg"]
会为您提供元消息。
答案 1 :(得分:0)
只需逐个访问关卡。
for i in r["response"]["blogs"]:
print i["name"],i["url"],i["updated"]
因此,此代码可用于打印blogs
列表
解释这是如何工作的:
在Python中,Json对象被解码为名为dictionaries
的东西。字典是简单的键值对。在您的示例中,
r是一个包含以下键的字典:
meta, response
您可以使用r [" meta"]来访问密钥的值。
现在元本身就是一本字典。相关的键是:
status,msg
因此,r["meta"]["status"]
给出了请求返回的状态值。
答案 2 :(得分:0)
JSON数据转换为dict,根据您的代码设置为r
。
要访问与updated
键关联的值,您需要先访问它之前的值。
您应首先访问包含api实际响应的r["response"]
。从该级别开始,您应该接下来访问r["response"]["blogs"]
,然后循环查看updated
密钥的值。
如果是单个博客,您可以执行r["response"]["blogs"][0]["updated"]