TransWikia.com

Requestsでjsonのデコードの仕方がわかりません

スタック・オーバーフロー Asked by Daisuke Ogawa on December 22, 2020

以下のプログラムを実行するとエラーが出ます。

"TypeError: 'Response' object is not subscriptable"

これはJSON化していないことが原因でしょうか?
JSON化するにしても res.jsonres.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)

One Answer

requestshttps://requests.readthedocs.io/en/master/ でしょうか?

そうであれば、requests.get() の戻り値はResponse型なので、res["results"] というアクセスはできません。ご察しのとおり、json() を呼べばよいでしょう。

  results = res.json()["results"]

Correct answer by int32_t on December 22, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP