スタック・オーバーフロー Asked by Daisuke Ogawa on December 22, 2020
以下のプログラムを実行するとエラーが出ます。
"TypeError: 'Response' object is not subscriptable"
これはJSON化していないことが原因でしょうか?
JSON化するにしても res.json
と res.text
のどちらがいいのかわかりません。
import requests
import json
#郵便番号取得
class Address:
def __init__ (self,zipcode):
self.zipcode=zipcode
def get_address(self):
url="https://zipcloud.ibsnet.co.jp/api/search"
params={"zipcode":self.zipcode}
res=requests.get(url,params=params)
# print(res.text)
results=res["results"]
address=results[0] #物によっては複数返ってくることがある
print(f"住所:{address['zipcode']}{address['address1']}{address['address2']}{address['address3']}")
add=Address("5670031")
result=add.get_address()
print(result)
requests
は https://requests.readthedocs.io/en/master/ でしょうか?
そうであれば、requests.get()
の戻り値はResponse型なので、res["results"]
というアクセスはできません。ご察しのとおり、json()
を呼べばよいでしょう。
results = res.json()["results"]
Correct answer by int32_t on December 22, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP