全般

[Python] JSONデータをパース(parse)する方法

今回は、PythonでJSONデータをパース(parse)する方法についてご紹介します。

パース(parse)とは

プログラムの世界において、パースとは「解析」のことを指します。

文字列などのデータを一定のルールに基づいて読み取り、コンピュータが扱いやすい形に変換する作業です。

JSONはJavaScript Object Notationの略称で、データを軽量かつ柔軟に表現できるフォーマットとして広く使われています。

Pythonでは、標準ライブラリjsonを使うことで簡単にJSONをパースできます。

PythonでJSONをパースする基本的な手順

Pythonには標準でjsonモジュールが用意されており、以下の手順でJSONをパースできます。

  • json.loads():文字列からJSONを読み込む
  • json.load():ファイルからJSONを読み込む
  • json.dumps():PythonオブジェクトをJSON形式の文字列へ変換する
  • json.dump():PythonオブジェクトをJSONファイルへ書き出す

これらの関数を使い分けることで、JSONデータの読み込みや書き込みを効率よく行えます。

文字列からJSONをパースする

JSON形式の文字列をPythonのデータ構造に変換するにはjson.loads()を使用します。

実行結果

{‘name’: ‘Alice’, ‘age’: 25, ‘city’: ‘Tokyo’}
Name: Alice

上記のように、JSON形式の文字列がPythonの辞書型として扱えるようになります。

ファイルからJSONをパースする

ファイルに保存されたJSONを読み込む場合は、json.load()を使用します。

ファイルから読み込む場合も、Pythonの辞書やリストなどの構造に自動的に変換されるため便利です。

JSONデータの書き出し

PythonオブジェクトをJSON形式に変換したり、ファイルとして保存するには、json.dumps()またはjson.dump()を利用します。

実行結果

{
“name”: “Bob”,
“age”: 30,
“city”: “Osaka”
}

ensure_ascii=Falseは日本語などのマルチバイト文字をそのまま出力するためのオプションです。

indent=4で見やすく整形されたJSONを生成できます。

よくあるエラーと対策

JSONのパース時には、データが不正な形式であるなどの原因でエラーが発生する場合があります。

特に外部から取得したJSONは、想定外の形式になっている可能性があるため、エラー処理を行うことが重要です。

このように、try-exceptブロックでエラーを捕捉すると、予期せぬクラッシュを回避できます。

また、JSONがサポートしていない型(datetimeなど)を変換する場合には別途カスタマイズが必要です。

まとめ

Pythonの標準ライブラリjsonを使うと、文字列やファイルから簡単にJSONデータをパースできます。

また、PythonオブジェクトをJSON形式に変換し、ファイルへ書き出す方法も覚えておくと便利です。

実際に運用する際はエラーハンドリングや文字エンコーディングなどの注意点も考慮すると、より堅牢な実装が可能です。