1

我只是对 SimpleJSON 的文档有疑问。是否隐含地理解可以使用例如 .get() 的函数而无需作者记录它?或者它是关于 python 如何工作而不是 SimpleJSON 如何工作的东西,因此不需要写下来?当我在可以使用的文档中找不到时,我感到非常沮丧get()

http://simplejson.readthedocs.org/en/latest/index.html

例如下面的代码

import simplejson as json
import urllib2


req = urllib2.Request("http://example.com/someJson")
opener = urllib2.build_opener()
f = opener.open(req)

data = json.load(f)

print data.get('results')

我在文档中找不到有关此功能的任何地方。

4

1 回答 1

3

json.load()将反序列化您的 JSON 文档并返回一个 Python 对象。

所以我会说这data是一个dict,这里是.get()文档

Python 对象json.load()将返回什么取决于您给他的输入。

json.loads()与which 相同的示例,但在字符串上:

>>> json.loads('[1, 2, "dog"]')
[1, 2, 'dog']
>>> json.loads('{"animals": ["cat", "dog"], "4": 4}') 
{'animals': ['cat', 'dog'], '4': 4}
>>> json.loads('"dog"') 
'dog'

如您所见,有无数种可能性(因为它们也可以嵌套)。

如果你不知道要解析的 json 文件的格式,那么是的,你应该想出一些技巧来理解它的结构,但最好提前知道它的结构。由于您要使用它的信息,您可能应该知道(或被允许知道)。


我看到您已经发现了,但是对于将来的来者参考,我想指出要使用 json 解析 url 请求,需要指定这一点。正如在此答案中向您指出的那样。

于 2012-03-27T11:26:37.333 回答