【问题标题】:Get specific JSON elements with requests [duplicate]使用请求获取特定的 JSON 元素 [重复]
【发布时间】:2016-02-22 11:26:10
【问题描述】:

我想使用Pythonrequests 发出JSON 请求,其中我只获得某些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']呢?

【问题讨论】:

    标签: python json python-requests


    【解决方案1】:

    简答

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

    幕后

    当您发出诸如r = requests.get('www.foo.bar') 之类的请求时,您正在向服务器发出请求,当您执行r.json() 时,您正在查看该请求的结果。这意味着您在解析服务器发送给您的内容时不能只获得r[3]['data'],除非服务器只发送r[3]['data']。除了响应处理之外,可能会过滤掉其他所有内容,但我不知道该怎么做。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 1970-01-01
        • 2020-02-11
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        相关资源
        最近更新 更多