PythonでHTTPリクエストを送るときに便利なライブラリが requests です。

その中でも Response.json() は「レスポンスの中に含まれるJSONデータを取り出す」ための基本メソッドです。

この記事では Response.json() の基本的な使い方から、活用方法、注意点までをわかりやすく丁寧に解説します。

Response.json() とは?

Response.json() は、requests.get()requests.post() の戻り値である Responseオブジェクト に定義されているメソッドです。

HTTPレスポンスの中にある「JSON形式のデータ」を辞書型として取り出せます。

たとえばAPIを使ったときに返ってくるレスポンスがJSONだった場合、それを簡単に扱いやすいPythonの形式に変換してくれます。

このメソッドを使うことで、複雑な文字列処理をせずにAPIのデータをそのまま扱えるようになります。

使い方

基本的な使い方

まずは、JSONレスポンスを扱う基本のコードを見てみましょう。

このコードでは:

  • https://httpbin.org/json にGETリクエストを送り、
  • 返ってきたJSONを response.json() で辞書型に変換しています

その結果、Pythonの辞書としてデータをそのまま使うことができます。

具体例:辞書のようにデータにアクセスする

.json() で取得したデータは辞書型なので、キーを指定して中身を取り出せます。

このコードでは:

  • JSONの中にある titleauthor の2つの値を取得しています
  • 辞書のキーを直接指定するだけでアクセスできます
  • 複数の値を取得したい場合も、, ではなくそれぞれのキーを指定して取り出します

具体例:POSTリクエストのレスポンスを処理する

Response.json() はGETだけでなく、POSTのレスポンスにも使えます。

このコードでは:

  • サーバーにJSONデータを送信
  • サーバーから返ってきたJSONレスポンスを response.json() で取り出し
  • その中に含まれる "json" フィールドを表示しています

このように送信 → 受信 → 解析まで一連の流れをスムーズに行えます。

Response.json() を使うときの注意点

Response.json() を使う際にはいくつか注意すべきポイントがあります。

1. レスポンスがJSONでないとエラーになる

レスポンスがJSONでない場合に .json() を呼ぶと、json.decoder.JSONDecodeError というエラーが発生します。

このような場合に備えて、事前にContent-Typeを確認するか、try〜exceptで囲むのが安全です。

2. ステータスコードのチェックも忘れずに

APIがエラーを返してきた場合でも、.json() は一見使えてしまうことがあります。

そのため、response.raise_for_status() でエラーチェックをしたあとに .json() を使うのが基本です。

こうすることで、想定外のレスポンスでも安全に処理できます。

まとめ

今回は Response.json() の使い方を詳しく紹介しました。

Response.json() はレスポンスからJSONデータを辞書型として取り出す基本メソッド

  • APIレスポンスのデータを簡単に扱えるようになる
  • ネストされたデータにも辞書形式でアクセス可能
  • 非JSONレスポンスには注意。例外処理と合わせて使うのが安全
  • ステータスコードのチェック(response.raise_for_status())と併用すると安心

APIのデータ取得において、Response.json() はほぼ必須のメソッドです。

さまざまなAPIと連携する際に役立つので、ぜひ確実に使いこなせるようになっておきましょう。

おすすめの記事