优雅的解决方案,循环使用变化无常的结构的json哈希

时间:2010-09-14 05:45:04

标签: python

我有一个json哈希,它有很多键。我定期从Web服务和不同的参数等检索此哈希。这种方法或多或少具有固定结构,因为有时会丢失密钥。 所以我最终得到了很多具有以下性质的代码

编辑: 样本data

data =
{
id1 : {dict...},
id2 : {dict..},
'' : {value...},
...
}

for item in data:
   id = data.get("id")
   if not id:
      continue
   ...

我想跳过第3个元素继续前进。结构data是一个嵌套的dict,我在每个嵌套内循环。那里也缺少钥匙:(

我想知道是否有比50个不同的ifcontinue s更优雅的解决方案

由于

1 个答案:

答案 0 :(得分:1)

如何迭代dict键并进行处理:

data = {
'id1' : {'a':"", 'b':""},
'id2' : {'c':"", 'd':""},
'' : {'c':"", 'd':""},
"": {'c':"", 'd':""},
}

for key in data.iterkeys():
    if key:
        print key
        print "Processing %s" % key
        # do further processing of data[key]

这输出以下内容。请注意,它会跳过缺少密钥的处理。

id2
Processing id2
id1
Processing id1