了解 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 内容)。我(想我)明白 something
是 dict
因为 type(something)
给我 <class 'dict'>
。
decode
方法的文档虽然说 return 类型是 Any
。
- 那里发生了什么?
此外,this 文档列出了 dict
的几个方法,例如 dict.clear()
PyCharm 在我的 something
字典中没有提供。
- 这是为什么?
它解码给 python 对象的任何内容(在这种情况下它是一个字典),但它可以是一个列表,或者一个 int 或一个 float 或一个字符串或其他一些基本类型。你也可以用 resp.json()
取回 json(我可能不确定 jsonpickle 是什么,它可能不仅仅是 json)....
你必须告诉 pycharm 它是一个字典,否则 pycharm 无法知道那个方法会 return。让 pycharm 知道你可以用
做到这一点
assert isinstance(something,dict)
我来自 Java 背景,我想我今天会尝试一些 Python,所以也许你在解释时可以记住这一点 :)
我执行以下操作:
resp = requests.get(url, headers=headers)
something = jsonpickle.unpickler.decode(resp.text)
服务器响应良好(Json 内容)。我(想我)明白 something
是 dict
因为 type(something)
给我 <class 'dict'>
。
decode
方法的文档虽然说 return 类型是 Any
。
- 那里发生了什么?
此外,this 文档列出了 dict
的几个方法,例如 dict.clear()
PyCharm 在我的 something
字典中没有提供。
- 这是为什么?
它解码给 python 对象的任何内容(在这种情况下它是一个字典),但它可以是一个列表,或者一个 int 或一个 float 或一个字符串或其他一些基本类型。你也可以用
resp.json()
取回 json(我可能不确定 jsonpickle 是什么,它可能不仅仅是 json)....你必须告诉 pycharm 它是一个字典,否则 pycharm 无法知道那个方法会 return。让 pycharm 知道你可以用
做到这一点assert isinstance(something,dict)