2016-07-25 5 views
-4

json 함수를 사용하여 dict로 변환 된 json 조각이 있습니다. 이로부터 :python에서 dict 요소를 반복합니다.

{ 
    "imageIds": [ 
     { 
      "imageTag": "1.2", 
      "imageDigest": "sha256:8b67b1691b29e27a5ccbd6fea5c97c951a025ccd45b26d4c24567ca3c4c0f13b" 
     }, 
     { 
      "imageTag": "1.0", 
      "imageDigest": "sha256:aa52a12bd6e516659452af5b9ed0fad8659f9e0cea6a986c6bfe02af388df189" 
     } 
    ] 
} 
이에

: 키 (imageIds)의 수는 고정되어있다 본 실시 예에서는

>>> 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 imageTags 아래의 금액이있을 수있다.

내가하려는 것은 태그 번호를 읽고 작업을 수행하기 위해 'imageTag'요소를 반복하는 것입니다. 내가 키를 통해 루프를 원하는 경우는 같은 간단한 뭔가 간단 보인다

for key in data: 
    print key, 'corresponds to', data[key] 

그러나 I가 불확실 해요 방법 키 아래의 항목을 통해 내가 루프.

1.2 
1.0 
+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'] 
+0

감사합니다. 어떻게하면 두 이미지 태그를 모두 출력 할 수 있을까요? 1.2, 1.0 – Setanta

+0

글쎄, 그냥 "imageTag"키가있는 사전 요소를 묻는 것입니다. 편집 된 답변을 참조하십시오. 이것은 매우 기본적인 사전 작업입니다. 30 분 동안 그들이 어떻게 작동하는지 읽는 것이 좋습니다. – elelias

+0

네, 아마도 좋은 생각입니다. 도와 주셔서 감사합니다. – Setanta

관련 문제