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形式でのデータ処理が効率的に行えます。