2016-01-22 39 views
-1
{ 
    "newData": [{ 
       "env1": [{ 
          "sins": [{ 
           "host": "test.com", 
           "deployTime": "2015-07-23 11:54 AM", 
           … 
          }], 
          "name": 「hello」 
         }, 
       { 
       "env1": [{ 
          "sins": [{ 
           "host": "test.com", 
           "deployTime": "2015-12-16 05:23 PM", 
              … 
          }], 
          "name": "hello" 

我試圖從這個嵌套字典中拉'主機'和'名稱'。如何從這個嵌套字典中拉出特定的鍵?

我只知道如何獲得'名稱'並追加到列表中,但我想追加名稱和'主機'。

目前我做

list=[] 
for row in my_dict['newData']: 
    list.append(row) 
for i in list: 
    print i['name'] 
+1

你真的是有'因爲我在list'循環嵌套在'爲my_dict'行? – Barmar

+0

不,對不起,我現在正在編輯這個 – Benihana

+0

我也不確定你有字典嵌套權。第二個'env1'是否真的嵌套在第一個? – Barmar

回答

0

你的字典是完全破碎。請張貼至少一個直立的結構。假設它應該是這樣的:

test= {"newData": [{"env1": [{"sins": [{"host": "test.com", 
             "deployTime": "2015-07-23 11:54 AM",}], 
           "name": "hello"}]}, 
        {"env1": [{"sins": [{"host": "test.com", 
             "deployTime": "2015-12-16 05:23 PM",}], 
           "name": "hello"}]}]} 

那麼這個:

print([element['env1'][0]['sins'][0]['host'] + ' ' \ 
     + element['env1'][0]['name'] for element in test['newData']]) 

會產生:

['test.com hello', 'test.com hello']