了解 Python 中的 json 响应类型和 IDE 自动完成

Understanding json response types in Python, and IDE autocomplete

我来自 Java 背景,我想我今天会尝试一些 Python,所以也许你在解释时可以记住这一点 :)

我执行以下操作:

resp = requests.get(url, headers=headers)
something = jsonpickle.unpickler.decode(resp.text)

服务器响应良好(Json 内容)。我(想我)明白 somethingdict 因为 type(something) 给我 <class 'dict'>

decode 方法的文档虽然说 return 类型是 Any

  1. 那里发生了什么?

此外,this 文档列出了 dict 的几个方法,例如 dict.clear() PyCharm 在我的 something 字典中没有提供。

  1. 这是为什么?
  1. 它解码给 python 对象的任何内容(在这种情况下它是一个字典),但它可以是一个列表,或者一个 int 或一个 float 或一个字符串或其他一些基本类型。你也可以用 resp.json() 取回 json(我可能不确定 jsonpickle 是什么,它可能不仅仅是 json)....

  2. 你必须告诉 pycharm 它是一个字典,否则 pycharm 无法知道那个方法会 return。让 pycharm 知道你可以用

    做到这一点
    assert isinstance(something,dict)