jsonモジュールを使った読み書き | JSONファイルの操作 | Python本格超入門

現在作成中です。今後加筆修正してまいります。
スポンサーリンク
スポンサーリンク

jsonモジュールを使った読み書き

Pythonでは、jsonモジュールを使ってJSONファイルの読み書きを簡単に行うことができます。JSON(JavaScript Object Notation)は、データを軽量なテキスト形式で表現するための形式で、特にAPIや設定ファイルなどでよく使用されます。Pythonでは、jsonモジュールを使って、辞書やリストなどのデータ構造をJSON形式で保存したり、読み込んだりすることが可能です。

JSONファイルを読み込む

JSONファイルを読み込むには、json.load()を使用します。以下のコードは、JSONファイルを辞書形式で読み込む例です。

import json

with open('data.json', 'r') as file:
    data = json.load(file)
    print(data)

このコードでは、'data.json'というファイルを開き、json.load()でその内容を辞書形式に変換してdataに格納します。json.load()は、ファイル内のJSON形式のデータを自動的にPythonの辞書やリストに変換してくれる便利な関数です。

JSONファイルに書き込む

辞書やリストなどのデータをJSONファイルとして保存するには、json.dump()を使用します。

import json

data_to_write = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

with open('output.json', 'w') as file:
    json.dump(data_to_write, file, indent=4)

このコードでは、data_to_writeという辞書データを'output.json'というファイルに書き込んでいます。indent=4を指定することで、読みやすいインデント付きのJSONファイルが作成されます。

JSONの読み書きにおける重要なメソッド

次の表は、JSONの読み書きにおいてよく使われるメソッドをまとめたものです。

メソッド 説明
json.load() JSONファイルからデータを読み込む。
json.loads() 文字列からJSONデータを読み込む。
json.dump() 辞書やリストをJSONファイルに書き込む。
json.dumps() 辞書やリストを文字列形式でJSONに変換する。

JSON文字列の操作

ファイルではなく、JSON形式の文字列をPythonのデータ構造に変換したい場合、json.loads()を使用します。

import json

json_string = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_string)
print(data)

このコードでは、json.loads()を使ってJSON文字列を辞書形式に変換しています。文字列として扱われているJSONデータを簡単にPythonのデータ構造に変換できます。

辞書データをJSON文字列に変換

逆に、Pythonの辞書やリストをJSON形式の文字列に変換したい場合、json.dumps()を使用します。

import json

data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

json_string = json.dumps(data, indent=4)
print(json_string)

このコードでは、辞書データをjson.dumps()でJSON形式の文字列に変換しています。indent=4でインデント付きの出力を生成し、読みやすい形式にしています。

まとめ

Pythonのjsonモジュールを使うことで、JSONファイルの読み書きを非常に簡単に行うことができます。json.load()json.dump()を使えば、ファイルのデータを直接辞書やリストに変換したり、その逆を行ったりすることができます。また、json.loads()json.dumps()を使用すれば、文字列形式のJSONデータを扱うことも容易です。これらのメソッドを活用すれば、JSON形式でのデータ処理が効率的に行えます。

Amazonロゴ
   
ad.価格範囲を指定して商品を探せます。セールで助かる便利ツール
本格超入門
スポンサーリンク
このページをメモ、または、シェア