在python中获取JSON值

时间:2012-08-06 16:34:00

标签: python json

我有一个json文档(as_stats.json),看起来像这样:

{"failed":5, "received": {"192.168.5.2": 40, "192.168.5.45": 84, "127.0.0.1": 145}}

我的python代码如下所示:

import json,urllib
data = open('as_stats.json').read()
d = json.loads(data)

for x in d['received']:
    if (x != '127.0.0.1'):
        print x

返回的值是IP地址,它们是变量,即可以随时更改为任何其他地址。我感兴趣的是从每个IP地址收到的文件数量。当我尝试将代码重写为

for x,y in d['received']:
        if (x <> '127.0.0.1'):
            print x,y

我收到一条消息,说“打开包装的价值太多了。”

如何从键值对中获取我想要的值?

1 个答案:

答案 0 :(得分:4)

使用:

for x,y in d['received'].iteritems():

dict上的正常迭代只会给你键。使用itervalues获取值,或iteritems获取键和值。