我想向JSON
库Python
发出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']
?
答案 0 :(得分:2)
要回答你的问题,你不能理解为什么你需要知道幕后发生的事情。
当您发出r = requests.get('www.foo.bar')
之类的请求时,您正在向服务器发出请求,而当您执行r.json()
时,您正在查看该请求的结果。这意味着,除非服务器仅发送r[3]['data']
,否则您无法获取r[3]['data']
,因为您正在解析服务器发送给您的内容。除了响应处理中的所有其他内容之外,可能会过滤掉其他所有内容,但我不知道如何执行此操作。
答案 1 :(得分:1)
如果服务器不允许,则不能。如果目标服务器允许您指定所需的字段,则可以在请求中发送该字段列表,服务器将仅返回JSON中的那些字段。否则,您将需要解析完整的JSON响应并获得所需的字段。