2015-04-08 1 views
0

Le titre est très explicite. J'ai un dict (très très grand dict), et il a ceci:Obtenir une liste d'un dict et enregistrer un élément de cette liste Python

'orderItems': { 
    'entries': [{ 
     'links': { 
      'order': { 
       'href': 'https: //api-latest.wdpro.xxxxx.com/booking-servicx/xxxxx/154301425212-3420290-4070919-6588782' 
      } 

donc, orderItems est un dict, à l'intérieur il a entries qui est une liste et à l'intérieur il a links, ce que je dois obtenir est le href intérieur order

obtenir la liste je suis avec: orderlink = json_response["orderItems"]["entries"]

, mais je ne suis pas très sûr de savoir comment passer par la liste pour trouver le href. Peut-être avec in.

Merci.

+1

Que voulez-vous dire? Voulez-vous obtenir l'un des hrefs, ou le premier? Y a-t-il d'autres entrées sans lien? –

+0

@tobias_k dans 'liens' il n'y a qu'un 'ordre' et j'ai besoin de 'href' – NachoMiguel

Répondre

1

Pour accéder aux éléments d'une liste, vous devez utiliser des index numériques ou les traiter tous.

La meilleure chose est probaly d'utiliser une boucle là-dedans, qui garantira que vous itérer sur toutes les entrées de la liste:

hrefs = [] 
for entry in orderlink: 
    hrefs.append(entry["links"]["order"]["href"]) 

qui vous donnera une liste avec seulement les URL souhaitées

+0

n'est-ce pas 'entry ['links'] ['order'] ['href']'? – gonkan

+0

@gonkan - bien sûr - mais on dirait que l'O.P a trouvé son chemin. Merci, – jsbueno

0

supposant que vous avez cette structure JSON je vais utiliser ce code pour résoudre votre problème:

# Suppose that json_response is the whole dictionary 
entry_list = json_response["orderItems"]["entries"] 

# Now for each entry in the list, you need to get the "href" field 
hrefs = [] 
for entry in entry_list: 
    curr_href = entry["links"]["order"]["href"] 
    hrefs.append(curr_href) 

vous devez prêter attention à la structure dictionnaire afin d'accéder sur le terrain correctement. Avant d'utiliser ce code, s'il vous plaît payer lire sur les dictionnaires dans le Python3 documentation.