我有一个关于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')我在文档中找不到关于这个函数的任何地方。
发布于 2012-03-27 19:26:37
json.load()将反序列化您的JSON文档并返回一个Python对象。
所以我会说data是一个dict,这是.get() documentation。
Python object json.load()将返回什么取决于您提供给他的输入。
以json.loads()为例,这是相同的事情,但在字符串上:
>>> 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请求,需要指定这一点。正如在this answer中向您指出的那样。
https://stackoverflow.com/questions/9888588
复制相似问题