カテゴリ: Python 更新日: 2026/02/17

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サービスやスマホアプリが、サーバーから最新情報を取得する際の「共通言語」として頻繁に活用されています。テキスト形式なので、WindowsやMac、PythonやJavaScriptといった環境の違いを問わずにデータをやり取りできるのが最大のメリットです。

Pythonの「辞書」と「JSON」の違い

見た目はそっくりですが、明確なルールがあります。特に初心者が間違いやすいポイントを整理しましょう。

  • 引用符:JSONは必ずダブルクォート(")で囲みます。Pythonの辞書で使えるシングルクォート(')は使えません。
  • データの種類:Pythonの辞書はプログラムの中で操作する「データそのもの」ですが、JSONはあくまで「文字列(テキスト)」です。
  • 型:JSONでは「真偽値」は小文字(true, false)ですが、Pythonでは(True, False)と書きます。

具体的にどのような書き方をするのか、プログラミング未経験の方でもイメージしやすいように、身近な「自己紹介データ」を例に見てみましょう。


{
    "user_name": "山田太郎",
    "age": 20,
    "is_student": true,
    "skills": ["Python", "HTML", "CSS"]
}

このように、"項目名": 値 という形式でデータを並べるだけで、名前、年齢、学生かどうか、スキル一覧といった複数の情報を一つの塊としてシンプルに表現できるのがJSONの魅力です。この基本を理解しておくと、この後の「Pythonでの変換(json.dumps)」がスムーズに理解できるようになります。

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
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
New2
Python
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
New3
Python
Pythonの仮想環境とは?venvを使った環境構築の手順を初心者向けに解説
New4
Python
Pythonのダックタイピングを完全ガイド!初心者でもわかる動的なオブジェクト指向設計
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでエラーメッセージを取得する方法を完全解説!初心者でもわかるExceptionオブジェクト
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
PHP
PHP の MySQL にデータを挿入する方法(INSERT 文の実行)を完全解説!初心者向けガイド
No.4
Java&Spring記事人気No4
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.5
Java&Spring記事人気No5
PHP
PHP の MySQL 接続の基本(mysqli, PDO)を完全解説!初心者向けガイド
No.6
Java&Spring記事人気No6
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.7
Java&Spring記事人気No7
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.8
Java&Spring記事人気No8
Python
PythonでSQLiteを使う方法を完全ガイド!初心者でもわかるデータベース基本操作