Python3 #29: JSON

独習 PYTHON 3

JSON(JavaScript Object Notation)は、データのやり取りに広く使用される軽量なデータ交換フォーマットです。JSONは人間にも読みやすく、機械でも解析しやすい形式でデータを表現します。Pythonでは、標準ライブラリのjsonモジュールを使って、JSONデータの読み書きを簡単に行うことができます。

1. JSONとは?

JSONは、テキスト形式でデータオブジェクトを表現するためのフォーマットです。以下のようなデータ型をサポートしています:

  • オブジェクト(辞書に対応)
  • 配列(リストに対応)
  • 文字列
  • 数値(整数および浮動小数点数)
  • 真偽値(trueおよびfalse
  • nullNoneに対応)

2. PythonでのJSONの操作

Pythonでは、jsonモジュールを使用してJSONデータを扱います。以下に基本的な操作方法を示します。

2.1 JSONデータの読み込み

JSONデータをPythonオブジェクトとして読み込むには、json.loadまたはjson.loadsを使用します。

JSONファイルから読み込む

import json

# JSONファイルを読み込む
with open('data.json', 'r') as file:
    data = json.load(file)

print(data)

JSON文字列から読み込む

import json

# JSON文字列を読み込む
json_string = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_string)

print(data)

2.2 JSONデータの書き込み

PythonオブジェクトをJSON形式で保存するには、json.dumpまたはjson.dumpsを使用します。

JSONファイルに書き込む

import json

# データをJSONファイルに書き込む
data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

with open('data.json', 'w') as file:
    json.dump(data, file, indent=4)  # indent=4で整形

JSON文字列に変換する

import json

# データをJSON文字列に変換する
data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

json_string = json.dumps(data, indent=4)  # indent=4で整形
print(json_string)

2.3. JSON操作の実例

以下は、JSONファイルを読み込み、新しいデータを追加して再度ファイルに書き込む例です。

import json

# JSONファイルを読み込む
with open('data.json', 'r') as file:
    data = json.load(file)

# 新しいデータを追加
data['email'] = '[email protected]'

# 更新されたデータをJSONファイルに書き戻す
with open('data.json', 'w') as file:
    json.dump(data, file, indent=4)

2.4. エラーハンドリング

JSON操作中に発生する可能性のあるエラーを適切に処理することが重要です。

import json

# JSONファイルの読み込み時のエラーハンドリング
try:
    with open('data.json', 'r') as file:
        data = json.load(file)
except FileNotFoundError:
    print('ファイルが見つかりません')
except json.JSONDecodeError:
    print('JSONデコードエラーが発生しました')

# JSON文字列の読み込み時のエラーハンドリング
json_string = '{"name": "John", "age": 30, "city": "New York"'

try:
    data = json.loads(json_string)
except json.JSONDecodeError:
    print('JSONデコードエラーが発生しました')

まとめ

Pythonのjsonモジュールを使用すると、JSONデータの読み書きが非常に簡単になります。ファイルや文字列からJSONデータを読み込む方法、PythonオブジェクトをJSON形式で保存する方法、エラーハンドリングの方法について学びました。これらの知識を活用して、Pythonプログラムで効率的にデータのやり取りを行いましょう。

購読
通知
0 Comments
Inline Feedbacks
View all comments