【问题标题】:Python pass array into function and use it in json returnPython将数组传递给函数并在json返回中使用它
【发布时间】:2021-01-14 02:04:18
【问题描述】:

我有以下 python 代码:

import requests

def requestAPI(url):
  return requests.get(url=url).json()

UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en")['text']

我想在requestAPI 函数上放一个try/except,这样它就不会破坏代码。我想过这个:

import requests

def requestAPI(url, keys):
  return requests.get(url=url).json() #Here is the struggle with passing the "keys" parameter into the return

UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en", ['text'])

我可以这样做:

import requests

def requestAPI(url):
  try:
    return requests.get(url=url).json() 

  except:
    return False

UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en")['text'] if (condition here) else False

但我认为有更好的方法。

【问题讨论】:

    标签: python json python-3.x


    【解决方案1】:

    不用try-except 也可以通过dict.get() 实现它:

    def requestAPI(url, key):
        return requests.get(url=url).json().get(key, None)
    

    这将返回键 key 的值,如果它存在于 JSON 中,否则将返回 None。如果您希望它返回False,请执行.get(key, False)

    【讨论】:

    • 我知道它会更好!谢谢!
    • 我怎么能用多个键呢? (它们的数组)
    • 你可以查看this的答案,或者其他的。
    猜你喜欢
    • 2020-08-19
    • 1970-01-01
    • 2018-09-23
    • 2018-04-24
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多