カテゴリ: Python 更新日: 2025/12/12

Pythonの辞書をJSONに変換する方法(json.dumps() / json.loads())初心者向け完全ガイド

Pythonの辞書をJSONに変換する方法(json.dumps() / json.loads())
Pythonの辞書をJSONに変換する方法(json.dumps() / json.loads())

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

生徒

「Pythonで作った辞書をJSONという形式に変換する方法はありますか?」

先生

「はい、Pythonではjson.dumps()を使うと辞書をJSON形式の文字列に変換できます。また、json.loads()を使えば、逆にJSONから辞書に戻せます。」

生徒

「JSONって何ですか?どうやって使うんですか?」

先生

「では、まずJSONの基本から順番に説明していきましょう!」

-

1. JSONとは?

1. JSONとは?
1. JSONとは?

JSON(ジェイソン)は、JavaScript Object Notationの略で、データを保存したり送受信したりするための形式です。人間が読めて、パソコン同士でもやりとりしやすいという特徴があります。例えば、WebサービスやAPI(エーピーアイ)でデータをやり取りするときに使われます。

Pythonの辞書(dictionary)ととても似ていますが、書き方が少し違います。Pythonの辞書はシングルクォート(')を使うことが多いですが、JSONはダブルクォート(")を使うのがルールです。

2. Pythonで辞書をJSONに変換する(json.dumps)

2. Pythonで辞書をJSONに変換する(json.dumps)
2. Pythonで辞書をJSONに変換する(json.dumps)

Pythonでは標準ライブラリのjsonモジュールを使って、辞書をJSON形式の文字列に変換できます。そのとき使うのがjson.dumps()です。


import json

data = {"名前": "山田太郎", "年齢": 30, "住所": "東京都"}
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)

{"名前": "山田太郎", "年齢": 30, "住所": "東京都"}

ensure_ascii=Falseを付けると、日本語も文字化けせずに表示されます。

3. JSONを辞書に変換する(json.loads)

3. JSONを辞書に変換する(json.loads)
3. JSONを辞書に変換する(json.loads)

逆に、JSON形式の文字列をPythonの辞書に戻すにはjson.loads()を使います。


json_text = '{"名前": "鈴木花子", "年齢": 25, "住所": "大阪府"}'
dict_data = json.loads(json_text)
print(dict_data)

{'名前': '鈴木花子', '年齢': 25, '住所': '大阪府'}

これで文字列として扱っていたJSONを辞書に変換でき、通常のPythonの辞書として利用できます。

4. 辞書をファイルとして保存する(JSON形式)

4. 辞書をファイルとして保存する(JSON形式)
4. 辞書をファイルとして保存する(JSON形式)

JSONは文字列として扱うだけでなく、ファイルに保存して再利用することもできます。


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

indent=4を指定すると、見やすく整形されたJSONになります。

-

5. JSONファイルを読み込む

5. JSONファイルを読み込む
5. JSONファイルを読み込む

保存したJSONファイルは、json.load()で読み込むことができます。


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

この方法を使えば、外部のデータをPythonで処理できるようになります。

6. JSONと辞書の違いに注意

6. JSONと辞書の違いに注意
6. JSONと辞書の違いに注意
  • JSONはあくまで「文字列形式のデータ」
  • 辞書はPythonの「データ型」
  • JSONはダブルクォートを使うのがルール

この違いを理解しておくと、エラーの原因を避けやすくなります。

7. 実用例:APIのデータを扱う

7. 実用例:APIのデータを扱う
7. 実用例:APIのデータを扱う

例えば、Webサービスから取得したデータがJSON形式の場合、json.loads()を使って辞書に変換すれば、Pythonで自由に処理できます。


import requests
response = requests.get("https://api.example.com/data")
data = json.loads(response.text)
print(data["title"])

このように、Pythonのjson.dumps()json.loads()は、ファイル保存やAPIとのデータ交換に欠かせない機能です。

まとめ

まとめ
まとめ

Pythonの辞書とJSON変換の全体像を振り返ろう

この記事では、Pythonの辞書をJSON形式に変換する方法と、JSONから辞書に戻す方法について、初心者向けに段階的に解説してきました。Pythonの辞書は、プログラムの中でデータを管理するための基本的なデータ構造ですが、そのままではファイル保存やネットワーク通信には向いていません。そこで重要になるのが、JSONというデータ形式です。

JSONは、人間にも読みやすく、プログラム同士でも扱いやすい形式として広く使われています。Pythonでは標準ライブラリとしてjsonモジュールが用意されており、json.dumps()を使えば辞書をJSON文字列に変換でき、json.loads()を使えばJSON文字列を辞書に戻すことができます。この変換の流れを理解することで、Pythonのプログラムは一気に実用的になります。

json.dumps()とjson.loads()の役割を整理

json.dumps()は、Pythonの辞書やリストなどのデータを、JSON形式の文字列に変換するための関数です。ファイルに保存したり、APIに送信したりする前の「変換処理」として使われます。一方、json.loads()は、その逆で、JSON形式の文字列をPythonの辞書として扱えるように戻すための関数です。

特に日本語を含むデータを扱う場合には、ensure_ascii=Falseを指定することで、文字化けを防ぎ、読みやすいJSONを作成できます。以下は、記事内と同じ書き方・構造を使ったサンプルです。


import json

user = {"名前": "佐藤次郎", "年齢": 28, "職業": "エンジニア"}
json_data = json.dumps(user, ensure_ascii=False)
print(json_data)

dict_data = json.loads(json_data)
print(dict_data)

このように、JSONと辞書を相互に変換できるようになると、データの保存・読み込み・受け渡しが非常にスムーズになります。Python初心者にとって、この一連の流れを理解することは大きなステップアップです。

ファイル保存とAPI連携で広がる活用範囲

JSON形式は、ファイルとして保存できる点も大きなメリットです。json.dump()json.load()を使えば、Pythonの辞書をJSONファイルとして保存し、後から再利用できます。これにより、設定情報の管理や、データの一時保存、ログの記録など、さまざまな場面で活用できます。

また、Web APIから取得するデータの多くはJSON形式です。APIレスポンスをjson.loads()で辞書に変換すれば、キーを指定して必要な情報を簡単に取り出せます。PythonでのWeb開発やデータ取得を学んでいくうえで、JSONと辞書の関係を理解しておくことは欠かせません。

先生と生徒の振り返り会話

生徒

「Pythonの辞書をそのまま使うだけじゃなくて、JSONに変換する意味がよく分かりました。ファイル保存やAPIで使えるんですね。」

先生

「そうです。JSONはプログラム同士をつなぐ共通言語のような存在です。Pythonの辞書とJSONを変換できるようになると、できることが一気に増えます。」

生徒

json.dumps()json.loads()の役割がはっきり分かれいて、混乱しなくなりました。」

先生

「その理解はとても大切ですね。変換の向きを意識できれば、エラーも減ります。これからAPIやファイル操作を学ぶときにも、今日の内容が必ず役立ちますよ。」

生徒

「これからは、JSONを見ても怖がらずに、まず辞書に変換して中身を確認してみます。」

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのマルチバイト文字列を正しく扱う方法!初心者向けにmb_strlenとmb_substrをやさしく解説
New2
PHP
PHP の break, continue の使い方を完全解説!初心者でもわかるループ制御
New3
Python
Pythonで日本の元号を扱う方法を徹底解説!令和・平成の変換もバッチリ対応
New4
Python
Pythonの三項演算子とは?一行で条件分岐を記述する方法
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで辞書のキー・値・アイテムを取得する方法(keys(), values())
No.2
Java&Spring記事人気No2
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.3
Java&Spring記事人気No3
Python
Pythonのライブラリとは?標準ライブラリとサードパーティライブラリの違いを初心者向けに解説!
No.4
Java&Spring記事人気No4
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
PHP
PHP の基本構文(開始タグ・コメント・インデント)を完全ガイド!初心者向け解説
No.8
Java&Spring記事人気No8
PHP
PHPで画像ファイルをアップロードする方法を初心者向けに徹底解説!わかりやすい画像処理入門
-
-