PythonでJSONを読み込む方法
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
json.loads()
を使用して、JSON文字列をPythonオブジェクトに解析します。json.load()
を使用して、ファイルからJSONデータを読み取ります。- 常に
JSONDecodeError
やFileNotFoundError
などの例外を処理します。
JSON(JavaScript Object Notation)は、データの保存と交換に使用される一般的なデータ形式です。Pythonは、json
モジュールを通じてJSONの組み込みサポートを提供しており、プログラムでJSONデータを簡単に操作できます。この記事では、Pythonを使用して文字列とファイルからJSONを読み取る方法について説明します。
JSONとは?
JSONは軽量なデータ交換形式であり、人間が読み書きしやすく、機械が解析および生成しやすいものです。Web APIや構成ファイルで一般的に使用されます。
一般的なJSONオブジェクトは次のようになります。
{ "name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"] }
JSON文字列の読み取り
Pythonの json.loads()
メソッドは、JSON形式の文字列を解析し、Pythonの辞書に変換できます。
import json json_string = '{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}' data = json.loads(json_string) print(data["name"]) # 出力: Alice
ファイルからJSONを読み取る
JSONファイルを読み取るには、json.load()
メソッドを使用します。このメソッドは、ファイルオブジェクトから読み取り、JSONデータを解析します。
import json with open("data.json", "r") as file: data = json.load(file) print(data["courses"]) # 出力: ['Math', 'Science']
注:
with
ステートメントを使用してファイルを開きます。これにより、読み取り後にファイルが適切に閉じられるようになります。json.load()
はjson.loads()
と混同しないでください。前者はファイルオブジェクトから読み取り、後者は文字列から読み取ります。
エラー処理
JSONを操作する場合、常に解析エラーの可能性を予測する必要があります。
import json try: with open("data.json", "r") as file: data = json.load(file) except json.JSONDecodeError as e: print("JSONのデコードに失敗しました:", e) except FileNotFoundError: print("ファイルが見つかりませんでした。")
結論
PythonでのJSONの読み取りは、json
モジュールのおかげで簡単です。文字列またはファイルを操作している場合でも、Pythonを使用すると、JSONデータ構造を簡単に解析して操作できます。これは、API、構成ファイル、またはシステム間のデータ交換を扱う場合に特に役立ちます。
FAQs
json.load()
はファイルオブジェクトから読み取ります。json.loads()
はJSON文字列を解析します。
try-exceptブロックを使用して、デコードエラーとファイルが見つからないエラーを処理します。
はい、ネストされたJSONはネストされたPythonの辞書とリストに解析されます。
Leapcellは、バックエンドプロジェクトをホストするための最適な選択肢です。
Leapcellは、Webホスティング、非同期タスク、Redis用の次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、Rustで開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い—リクエストも請求もありません。
圧倒的なコスト効率
- アイドル料金なしの従量課金制。
- 例:25ドルで、平均応答時間60ミリ秒で694万リクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI / CDパイプラインとGitOps統合。
- 実用的な洞察のためのリアルタイムのメトリックとロギング。
簡単なスケーラビリティと高性能
- 高い同時実行性を簡単に処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ—構築に集中するだけです。
ドキュメントで詳細をご覧ください!
Xでフォローしてください:@LeapcellHQ