PythonリストからJSON形式への変換方法
Pythonのリストデータ構造をJSON形式に変換するには、標準ライブラリのjsonモジュールを使用します。このモジュールにはdumps関数が用意されており、Pythonのデータ構造を簡単にJSON文字列に変換できます。変換処理はインポートするだけで使えるため、追加のライブラリインストールは不要です。
【サンプルコード】
import json
# リストデータ
data_list = ["りんご", "バナナ", "オレンジ"]
# リストをJSON文字列に変換
json_string = json.dumps(data_list)
# 結果を表示
print(json_string)
【実行結果】
["りんご", "バナナ", "オレンジ"]
JSON変換時にインデント(字下げ)を追加すると、出力結果が視覚的に読みやすくなります。dumps関数のindentパラメータに数値を指定することで、指定した数値分のスペースでインデントが適用されます。また、日本語などの非ASCII文字を正しく表示するにはensure_ascii=Falseを設定します。
複雑なリスト構造のJSON変換テクニック
Pythonでは入れ子になったリストや、リストと辞書を組み合わせた複雑なデータ構造もJSON形式に変換できます。これにより、階層構造を持つデータも簡単にJSONとして扱えるようになります。特にWeb APIでデータをやり取りする場合やファイル保存時に役立ちます。
【サンプルコード】
import json
# 複雑なリスト構造(リストと辞書の組み合わせ)
complex_list = [
{"name": "鈴木", "scores": [85, 90, 78]},
{"name": "佐藤", "scores": [92, 88, 76]}
]
# 複雑なリスト構造をJSON文字列に変換(整形して出力)
json_string = json.dumps(complex_list, indent=2, ensure_ascii=False)
# 結果を表示
print(json_string)
【実行結果】
[
{
"name": "鈴木",
"scores": [
85,
90,
78
]
},
{
"name": "佐藤",
"scores": [
92,
88,
76
]
}
]
複雑なデータをJSONに変換する際は、整形オプション(indent)を使用することでデータ構造を視覚的に確認できます。またensure_ascii=Falseパラメータを指定することで、日本語などの非ASCII文字がUnicodeエスケープされずに正しく出力されます。
JSONデータをファイルとして保存する方法
変換したJSONデータをファイルとして保存するには、json.dump関数を使用します。この関数はdumpsと似ていますが、直接ファイルオブジェクトに書き込む点が異なります。ファイル保存により、生成したJSONデータを永続化したり他のシステムと共有したりできます。
【サンプルコード】
import json
# 保存するリストデータ
user_list = [
{"id": 1, "name": "田中", "active": True},
{"id": 2, "name": "山田", "active": False}
]
# JSONファイルとして保存
with open("users.json", "w", encoding="utf-8") as f:
json.dump(user_list, f, indent=4, ensure_ascii=False)
print("JSONファイルが保存されました")
ファイル保存時はopen関数で書き込みモード("w")を指定し、エンコーディングにはutf-8を使用します。json.dump関数はdumpsと同様にインデントや文字エンコードのオプションが指定できるため、必要に応じて適切なパラメータを設定できます。
リスト型JSONデータのPythonへの変換
JSON文字列をPythonのリスト型に戻す処理も簡単に行えます。この逆変換にはjson.loads関数を使用します。ファイルからJSONデータを読み込む場合はjson.load関数を使用します。これによりJSONとPythonオブジェクト間の双方向変換が実現できます。
【サンプルコード】
import json
# JSON文字列
json_string = '["りんご", "バナナ", "オレンジ"]'
# JSON文字列をPythonリストに変換
python_list = json.loads(json_string)
# 結果を表示
print(python_list)
print(type(python_list))
# JSONファイルからPythonオブジェクトに変換
with open("users.json", "r", encoding="utf-8") as f:
loaded_data = json.load(f)
print(loaded_data)
【実行結果】
['りんご', 'バナナ', 'オレンジ']
[{'id': 1, 'name': '田中', 'active': True}, {'id': 2, 'name': '山田', 'active': False}]
JSON文字列からPythonオブジェクトへの変換では、JSONの配列はPythonのリストに、JSONのオブジェクトはPythonの辞書に自動的に変換されます。また、true/falseはPythonのTrue/Falseに、nullはNoneに変換されるため、データ型の対応を意識する必要はありません。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
Gitでブランチ(branch)を作成する方法
crontabの書き方
PDFをExcelに変換する方法
Excelでプルダウンを設定する方法
エクセルでページ区切りを設定する方法
Markdownの取り消し線の書き方
ラズベリーパイでできること9選
Gitでbranch(ブランチ)を削除する方法をローカル・リモート別に解説
git addの取り消し方法を状況別に解説
CSSのstickyプロパティでWebサイトに固定要素を実装する方法
ITやプログラミングに関するニュース
アイアール技術者教育研究所がエクセルギー解析計算ウェビナーを開催、省エネと環境負荷低減に貢献
フラー株式会社がアプリ市場トレンド解説ウェビナーを3月25日に開催、成長アプリの共通項とデータ活用を解説
株式会社BOTANICOが2026年版X運用最新戦略ウェビナーを開催、成果につなげる資産型運用を解説
AIストーム株式会社がOpenClaw活用セミナーを開催、AIエージェントがビジネス現場を変革
株式会社オロが建設コンサルティング業向けウェビナーを開催、技術部門の損益可視化を支援
アルティウスリンク株式会社が経理向けBPO活用ウェビナーを開催、課題解決と業務効率化を支援
株式会社日本計画研究所がAI時代のインフラセミナー開催、GPUとデータセンターの課題を解説
株式会社カウンターワークスがリーシング業務AI活用ウェビナー開催、既存ツールでAIエージェント実践
株式会社セキドがDJI産業機セミナーを福井で開催、3Dデータ活用と機材選定を無料解説
株式会社ナビットが補助金活用ウェビナーを開催、販促費削減と集客力向上を解説
