カテゴリ: Python 更新日: 2025/10/08

PythonでJSONファイルを読み書きする方法(jsonモジュールの使い方)

PythonでJSONファイルを読み書きする方法(jsonモジュールの使い方)
PythonでJSONファイルを読み書きする方法(jsonモジュールの使い方)

先生と生徒の会話形式で理解しよう

生徒

「先生、Pythonでデータをファイルに保存したいんですが、どんな形式で保存すればいいですか?」

先生

「よく使われるのがJSON(ジェイソン)という形式ですね。Pythonではjsonというモジュールを使って簡単に読み書きできますよ。」

生徒

「JSONってよく聞きますけど、どんなものなんですか?Pythonでどうやって扱うのか知りたいです!」

先生

「それでは、PythonでJSONファイルを読み書きする方法を、やさしく丁寧に説明していきましょう!」

-

1. JSON(ジェイソン)ファイルってなに?

1. JSON(ジェイソン)ファイルってなに?
1. JSON(ジェイソン)ファイルってなに?

JSONとは、JavaScript Object Notationの略で、データを「鍵」と「値」の組み合わせで保存するファイル形式です。たとえば、名前や年齢を保存するときに次のような形式になります。


{
    "name": "Taro",
    "age": 25
}

見た目は英語っぽいですが、誰でも理解しやすく、インターネット上でもよく使われています。Pythonでも標準のjsonモジュールを使えば、とても簡単に扱えます。

2. jsonモジュールを使ってPythonでJSONを書き込もう

2. jsonモジュールを使ってPythonでJSONを書き込もう
2. jsonモジュールを使ってPythonでJSONを書き込もう

まずは、PythonのプログラムでJSONファイルを書き込む方法を紹介します。書き込みとは、Pythonのデータをファイルに保存することです。


import json

data = {
    "name": "Hanako",
    "age": 30,
    "hobbies": ["reading", "travel"]
}

with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

ポイント解説:

  • import jsonは、Pythonでjsonモジュールを使うための書き方
  • with open()でファイルを開き、「w」は書き込みモード
  • json.dump()は、PythonのデータをJSONファイルに書き込む関数
  • ensure_ascii=Falseにすると日本語も文字化けしません
  • indent=4で、見やすいように4つ分のスペースで整形

このコードを実行すると、「data.json」というファイルが作成され、中にきれいに整形されたJSONデータが保存されます。

3. PythonでJSONファイルを読み込む方法

3. PythonでJSONファイルを読み込む方法
3. PythonでJSONファイルを読み込む方法

次は、さきほど保存したJSONファイルを読み込む方法です。読み込みとは、ファイルの内容をPythonで使えるようにすることです。


import json

with open("data.json", "r", encoding="utf-8") as f:
    loaded_data = json.load(f)

print(loaded_data)

ポイント解説:

  • "r"は読み込みモード(readの略)
  • json.load()を使うと、ファイルの中身をPythonの辞書(dictionary)として読み込めます
  • print()で内容を画面に表示できます

たとえば、保存した「Hanako」さんのデータが次のように表示されます。


{'name': 'Hanako', 'age': 30, 'hobbies': ['reading', 'travel']}

4. 読み込んだJSONのデータを扱うには?

4. 読み込んだJSONのデータを扱うには?
4. 読み込んだJSONのデータを扱うには?

読み込んだJSONデータは、Pythonの辞書(dict)として扱えるので、次のように値を取り出すことができます。


print(loaded_data["name"])       # → Hanako
print(loaded_data["age"])        # → 30
print(loaded_data["hobbies"][0]) # → reading

辞書とは、「鍵(キー)」と「値(バリュー)」のペアで情報を管理する仕組みで、loaded_data["name"]のように書くと、その「name」に対応する値を取り出せます。

-

5. JSONを扱うときの注意点

5. JSONを扱うときの注意点
5. JSONを扱うときの注意点

PythonでJSONファイルを読み書きする際は、次の点に注意しましょう。

  • ファイル名は必ず .json で終わるようにする(例:data.json)
  • ファイルを開くときは文字コードをutf-8に指定する
  • 辞書形式のデータしか保存できない(Pythonのクラスなどは保存不可)
  • 日本語を含む場合はensure_ascii=Falseを指定

また、JSONファイルは構造がカンタンなので、パソコン初心者でもメモ帳などで中身を確認することができます。

6. JSONとCSVの違いってなに?

6. JSONとCSVの違いってなに?
6. JSONとCSVの違いってなに?

PythonではCSVファイルもよく使われます。CSVは表形式(カンマ区切り)のデータで、Excelのような表に向いています。対してJSONは、複雑な構造(入れ子やリスト)をもつデータに向いています。

たとえば、1人の人に複数の趣味があるようなデータは、CSVよりもJSONの方が相性が良いです。

どちらを使うかは、データの性質や使う目的によって選ぶようにしましょう。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonのリストを辞書に変換する方法(dict() / zip())
No.3
PHP&Python記事人気No3
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-