私はJSON APIレスポンスからのSKUの束を返す必要がなく、時にはそれが「空」です:JSON APIからPythonで空のリストを取得するにはどうすればいいですか?
{'products': [], 'request_speed': 0.0015690326690674}
このコードは製品があるときに動作しますが、何の製品が存在しない場合IndexError
を提起:
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")
、常に応答で「製品」[]
があるので、これは常に「何か」を持っている:
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")
私はtry/exceptを最初の例に追加することができると知っていますが、何かを達成するための家庭のように見えます。
これを達成するためのより簡略な方法はありますか?私は思った:
if 'info' in data['products']:
これは常に "何も返されませんでした。
data = json.loads(r.text)
print(data)
if len(data['products']) > 0:
print("something")
for key in data['products']:
print(key['info']['sku'])
else:
print("nothing")
あなたのチェックが間違っています。 'data '[products'] ':データ[' products ']:'なら ''でなければなりません。 あなたは次の項目もチェックすることができます: 'もしあれば(データ['products']):' –
はい、条件を修正すると、2回目の試行が有効です。 – mkrieger1