J'ai besoin de retourner un tas d'UGS d'une réponse de l'API JSON, mais parfois il est « vide »:Comment simplement attraper une liste vide dans Python à partir de l'API JSON?
{'products': [], 'request_speed': 0.0015690326690674}
Ce code fonctionne quand il y a des produits, mais soulève un IndexError
quand il n'y a pas de produits:
data = json.loads(r.text)
print(data)
if not data['products'][0]:
print("something")
for key in data['products']:
print(key['info']['sku'])
else:
print("nothing")
Et ce toujours a « quelque chose » parce qu'il ya toujours un « produits » []
dans la réponse:
data = json.loads(r.text)
print(data)
if not data['products']:
print("something")
for key in data['products']:
print(key['info']['sku'])
else:
print("nothing")
Je sais que je pourrais ajouter un essai/à l'exception du premier exemple, mais il semble que ce soit un moyen de parvenir à quelque chose.
Existe-t-il un moyen plus court d'y parvenir? Je l'ai pensé:
if 'info' in data['products']:
Était le chemin pythonique mais cela renvoie toujours "rien".
Votre chèque est faux. 'if not data ['products']:' devrait être 'si data ['products']:'. Vous pouvez également vérifier: 'if any (data ['products']):' –
Oui, la deuxième tentative devrait fonctionner si vous corrigez la condition. – mkrieger1