Pythonを使えば、データの保存ややり取りに欠かせないJSONファイルを簡単に扱うことができます。本記事では、PythonでJSONファイルを読み書きする方法をサンプルコード付きでわかりやすく解説します。
JSONとは?基本をおさらい
まず、JSON(JavaScript Object Notation)はデータをやり取りするための軽量なフォーマットです。人間にも読みやすく、機械にも扱いやすいのが特徴です。Pythonでは標準ライブラリのjson
モジュールを使うことで、外部ライブラリなしにJSONを操作できます。たとえばAPIでのデータ交換や設定ファイルの保存など、さまざまな場面で活用されています。したがって、PythonでJSONを使いこなすことは非常に重要です。
PythonでJSONを扱う基本的な流れ
PythonでJSONを扱う場合、以下の2つの操作が中心となります。
- Pythonの辞書やリストをJSON形式に変換してファイルへ保存する(書き込み)
- JSONファイルを読み込んでPythonのデータ型に変換する(読み込み)
次の章から具体的なサンプルコードを交えて解説していきます。
JSONファイルを書き込む方法
基本的な書き込み
Pythonで辞書型のデータをJSONファイルに保存するには、json.dump()
を使います。
import json
data = {
"name": "Taro",
"age": 25,
"language": "Python"
}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
このコードでは、辞書data
をdata.json
というファイルに保存しています。ensure_ascii=False
を指定すると日本語も正しく保存でき、indent=2
で読みやすいインデントが付きます。
よくある注意点
ファイルを開く際に"w"
モードを使うと、同じ名前のファイルが既にある場合は上書きされます。そのため、大切なデータを誤って消してしまわないように注意しましょう。また、大きなデータを扱う場合はファイルサイズにも気を配る必要があります。
JSONファイルを読み込む方法
基本的な読み込み
JSONファイルをPythonで扱うためにはjson.load()
を使います。
import json
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data["name"]) # 出力: Taro
このように、JSONファイルを読み込むとPythonの辞書型に変換されます。そのため、通常の辞書操作と同じように値を取り出せます。
文字コードの注意点
特に日本語を含むJSONファイルを扱う場合、encoding="utf-8"
を指定しないと文字化けする可能性があります。したがって、常にエンコーディングを明示することをおすすめします。
PythonでJSONを扱う応用テクニック
文字列としてJSONを扱う
ファイルではなく文字列としてJSONを扱いたい場合には、json.dumps()
とjson.loads()
を利用します。
import json
data = {"city": "Tokyo", "population": 14000000}
# 辞書をJSON文字列に変換
json_str = json.dumps(data, ensure_ascii=False)
# JSON文字列を辞書に変換
parsed = json.loads(json_str)
print(json_str)
print(parsed["city"])
この方法を使えば、APIから受け取ったJSON文字列を簡単に扱えるようになります。
エラーハンドリング
JSONファイルが壊れていたり、フォーマットが正しくない場合はjson.JSONDecodeError
が発生します。そのため、読み込み時にはtry-except
でエラー処理を行うと安心です。
import json
try:
with open("broken.json", "r", encoding="utf-8") as f:
data = json.load(f)
except json.JSONDecodeError as e:
print("JSONの形式が不正です:", e)
JSONを使う具体的な場面
JSONはAPIでのデータ通信、ログ保存、アプリケーション設定ファイルなど幅広い用途で利用されます。たとえばWebサービスと連携してデータを取得する場合、多くのケースでJSON形式が返ってきます。したがって、PythonでのJSON操作に慣れておくと開発の幅が広がります。
Python初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pythonでは標準ライブラリを使うだけで、JSONファイルの読み書きを簡単に行えます。特にAPIや設定ファイルとの連携には欠かせないスキルです。エラー処理や日本語対応も含めて習得しておきましょう。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント