2017-08-29 17 views
-4

私は説明や電子メールのような他の値とともに、下の辞書からcreatorの値にアクセスしようとしています。Pythonでネストされた辞書にアクセスする

私はそれをjsonに変換してから鍵にアクセスしようとしました。しかし、それは動作しませんでした。辞書全体を反復してすべてのキーの値を取得する唯一の方法です。

どのような提案も素晴らしいでしょう!

{ 
    "description": xxx, 
    "email": [email protected], 
    "creator": { 
     "data": [ 
      { 
       "name": "john" 
       "id": "123" 
      }, 
      { 
       "name": "victor" 
       "id" : "345" 
      } 
     ] 
    } 
+2

であるあなたがしようとしたかを示す必要があると伴うが、「うまくいかなかった」かを説明"john"

を返します。 – Sayse

+1

辞書["creator"] ["data"] 'になりませんか? – Jerrybibo

答えて

0

深度のある辞書があるとします。

dict = {"description": xxx, ... 

あなたは、キーを指定して辞書からアイテムを取得することができます。

desc = dict["description"] # returns "xxx" 

あなたは再帰的にこれを行うことができます:

name = dict["creator"]["data"] # returns list of people [{"name": "john", "id": "123"}, {"name": "victor", "id": "345"}] 
name = dict["creator"]["data"][0] # returns the first item in the list {"name": "john", "id": "123"} 
name = dict["creator"]["data"][0]["name"] # returns "john" 
+0

これはネストされていない辞書では有効ですが、ネストされていない辞書では機能しませんでした。 – user3447653

+0

@ user3447653:私は自分の答えを編集しました。それはそれをより明確にしますか?そうでない場合は、正確に何を達成しようとしていますか? –

+0

あなたはここで何が起こっているかをより詳細に説明したいかもしれません。 – Gassa

0

dict["description"]'xxx'

dict["creator"]['data']を返します戻ります[{"name": "john","id": "123"},{"name": "victor","id" : "345"}]

dict["creator"]['data'][1]["name"]dictがあなたの辞書

関連する問題