Python从JSON获取字段作为数组
这是我对一个获取请求的回应,想要得到一些json格式的数据。
我在用Python处理这个请求,到目前为止一切都正常。
我一直在找json的文档,读了不少,但就是找不到我想要的答案。
我该怎么才能获取所有的电子邮件地址呢?
{u'-InFSLzYdyg-OcTosYYs': {u'email': u'hello@gmail.com', u'time': 1360707022892}, u'- InFYJya4K6tZa8YSzme': {u'email': u'me@gmail.com', u'time': 1360708587511}}
我想要的结果是这样的一个列表:
email = ['hello@gmail.com', 'me@gmail.com']
提前谢谢你们。
3 个回答
0
只需要用 json.loads
这个函数,然后像平常一样处理得到的 dict
(字典)。这里没有什么特别针对JSON的内容。
1
假设你已经把你的 JSON 字符串转换成了 Python 的字典(可以参考 loads() 这个函数)。
>>> from json import loads
>>> myJSON = loads(somejsonstring)
>>> emails = [a[x]['email'] for x in a]
>>> emails
['hello@gmail.com', 'me@gmail.com']
或者更好的是,像 Luke 提到的那样,使用 itervalues()
。
2
就像wRAR说的,一旦你把它变成了Python的dict
(字典),接下来的操作就会变得很简单:
[x['email'] for x in l.itervalues()]