我有一块json,它使用json函数转换为dict。 由此:
{
"imageIds": [
{
"imageTag": "1.2",
"imageDigest": "sha256:8b67b1691b29e27a5ccbd6fea5c97c951a025ccd45b26d4c24567ca3c4c0f13b"
},
{
"imageTag": "1.0",
"imageDigest": "sha256:aa52a12bd6e516659452af5b9ed0fad8659f9e0cea6a986c6bfe02af388df189"
}
]
}
对此:
>>> print data
{u'imageIds': [{u'imageTag': u'1.2', u'imageDigest': u'sha256:8b67b1691b29e27a5ccbd6fea5c97c951a025ccd45b26d4c24567ca3c4c0f13b'}, {u'imageTag': u'1.0', u'imageDigest': u'sha256:aa52a12bd6e516659452af5b9ed0fad8659f9e0cea6a986c6bfe02af388df189'}]}
在此示例中,键的数量(imageIds)是固定的,但imageIds下可能有任意数量的imageTag。
我想要做的是循环使用' imageTag'元素读取标签号并执行操作。如果我想循环键,它似乎很简单,例如:
for key in data:
print key, 'corresponds to', data[key]
但是,我不确定如何循环键下的项目。 我想要实现的是打印出来:
1.2
1.0
答案 0 :(得分:0)
对内部dict
进行迭代,就像对待外部for key, value in data.iteritems():
#now value can be a dictionary as well
#for innerkey, innervalues in value[0].iteritems():
# print innerkey, innervalues
#in order to only print the elements that have imageTag as the key, simply do:
print value[0]['imageTag']
一样:
SGVsbG8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tLyBhbmQgdGhhbmsgeW91IGZvciB5b3VyIGhlbHAhLg0K