Python从JSON获取字段作为数组

0 投票
3 回答
2008 浏览
提问于 2025-04-17 15:40

这是我对一个获取请求的回应,想要得到一些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()]

撰写回答