获取具有请求的特定JSON元素

时间:2016-02-22 11:26:10

标签: python json python-requests

我想向JSONPython发出requests个请求,我只获取某些JSON个对象。

我知道处理获得的JSON对象非常容易只关注所需的信息,但这会限制请求效率(如果重复完成)。

如上所述,我知道这是可能的:

url = 'www.foo.com'
r = requests.get(url).json()
#Do something with r[3]['data4'], the only one who is going to be used.

但是我怎样才能直接从请求中获取r[3]['data4']

2 个答案:

答案 0 :(得分:2)

简答

要回答你的问题,你不能理解为什么你需要知道幕后发生的事情。

幕后花絮

当您发出r = requests.get('www.foo.bar')之类的请求时,您正在向服务器发出请求,而当您执行r.json()时,您正在查看该请求的结果。这意味着,除非服务器仅发送r[3]['data'],否则您无法获取r[3]['data'],因为您正在解析服务器发送给您的内容。除了响应处理中的所有其他内容之外,可能会过滤掉其他所有内容,但我不知道如何执行此操作。

答案 1 :(得分:1)

如果服务器不允许,则不能。如果目标服务器允许您指定所需的字段,则可以在请求中发送该字段列表,服务器将仅返回JSON中的那些字段。否则,您将需要解析完整的JSON响应并获得所需的字段。