代码之家  ›  专栏  ›  技术社区  ›  William Brochensque junior

Python将数组传递到函数中并在json返回中使用它

  •  0
  • William Brochensque junior  · 技术社区  · 5 年前

    我有以下python代码:

    import requests
    
    def requestAPI(url):
      return requests.get(url=url).json()
    
    UselessFact = RequestApi("https://uselessfacts.jsph.pl/random.json?language=en")['text']
    

    我想试一试 requestAPI 这样它就不会破坏代码。我想了想:

    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
    

    但我觉得有更好的办法。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Jarvis    5 年前

    你可以不费吹灰之力就实现它 try-except 通过 dict.get()

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

    这将返回键的值 key 如果它存在于JSON中,则返回 None . 如果你想让它回来 False ,做 .get(key, False)