2016-01-22 21 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']