simplejson文档?

时间:2012-03-27 11:19:58

标签: python simplejson

我对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')

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

1 个答案:

答案 0 :(得分:3)

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

所以我要说datadict而这里是.get() documentation

Python对象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文件的格式那么是的,你应该想出一些hack来理解它的结构,但最好事先知道结构如何。由于您要使用其信息,您应该知道(或被允许知道)。


我看到你已经发现了,但是对于未来的参考者,我想指出用json解析url请求需要指定它。正如this answer中指出的那样。