【Python】json.loadとは?使い方や引数のオプションや活用シーンをわかりやすく解説!

PythonでWebアプリケーションやAPIを扱う際に、JSON(JavaScript Object Notation)形式のデータを読み込む必要がある場面は非常に多いです。

その中でも json.load は「ファイルからJSONデータを読み込む」際に使われる基本的な関数です。

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

json.loadとは?

json.load は、Pythonの標準ライブラリ json に含まれる関数で、ファイルオブジェクトからJSONデータを読み込んでPythonオブジェクトに変換する機能を持ちます。

JSONファイルの内容を辞書(dict)やリスト(list)などのPythonのデータ型として取得したい場合に使用します。

Pythonでは、ファイルオブジェクトを指定して json.load() を使うことで、JSONファイルの内容を直接Pythonで扱えるデータに変換できます。

基本的な使い方

まずは、基本的なJSONファイルを読み込むコードを見てみましょう。

このコードでやっていることは:

  1. json モジュールをインポート
  2. open() でJSONファイルを開く
  3. json.load() でファイルの内容をPythonオブジェクトに変換
  4. 読み込んだデータを出力

例えば、以下のような data.json ファイルがあるとします:

このファイルを読み込むと、Pythonの辞書型として扱えるようになります。

具体例:設定ファイルの読み込みとして使う

json.load は設定ファイルやコンフィグファイルを読み込む際にもよく使われます。

このように:

  1. json.load() で設定ファイルを読み込み
  2. 辞書形式でアクセスして各種設定値を取得
  3. アプリケーションの動作に必要な設定を活用

この一連の操作で、外部設定ファイルを使ったアプリケーション開発ができます。

json.loadで読み込めるデータ型の例

JSONファイルには以下のようなデータ型が含まれ、それぞれPythonの対応する型に変換されます。

JSON型 Python型
object dict {"key": "value"}
array list [1, 2, 3]
string str "hello"
number int/float 42, 3.14
true/false bool True, False
null None None

ブラウザの開発者ツールやAPIのレスポンスで確認できるJSON形式なら、ほぼすべて読み込み可能です。

json.loadの引数オプション

json.load() には以下のようなオプション引数も指定できます:

  • object_hook:辞書を別のオブジェクトに変換する関数を指定
  • parse_float:浮動小数点数の解析方法を指定
  • parse_int:整数の解析方法を指定
  • parse_constant:定数(-Infinity、Infinity、NaN)の解析方法を指定
  • strict:厳密なJSON形式チェックの有効/無効

また、文字列から直接読み込む場合は json.loads() を使います。

json.loadを使うときの注意点

ファイルエンコーディングに注意

日本語などの非ASCII文字が含まれるJSONファイルを読み込む場合、with open() の段階でエンコーディングを明示的に指定する必要があります。

encoding='utf-8' を指定しないと、日本語文字で文字化けエラーが発生することがあります。

JSONファイルの形式エラーに注意

JSONファイルの形式が正しくない場合、json.JSONDecodeError が発生します。

その場合は例外処理を使って、エラーハンドリングを行います。

ファイルサイズが大きい場合のメモリ使用量

非常に大きなJSONファイルを読み込む場合、メモリを大量に消費する可能性があります。

大きなデータを扱う場合は、ストリーミング処理や部分的な読み込みを検討しましょう。

まとめ

今回はPythonの json.load 関数について紹介しました。

  • json.load は指定したファイルオブジェクトからJSONデータを読み込むための基本関数
  • エンコーディング(UTF-8など)を明示的に指定して安全に読み込める
  • 設定ファイル→読み込み→アプリケーションでの活用といった一連の操作も簡単に実現できる
  • ファイル形式エラーには例外処理で対応し、json.JSONDecodeError との併用が有効

json.load をマスターすれば、設定ファイルの管理、APIレスポンスの処理、データ分析など、さまざまなシーンでJSONデータを効率的に扱えるようになります。

Pythonでのデータ処理を行う基本スキルとして、ぜひしっかり理解しておきましょう。

おすすめの記事