JSONデータをPythonのタプルに変換する方法をわかりやすく解説
PythonでJSONデータを扱う際、辞書(dict)ではなくタプルとして取得したいケースがあります。本記事では、標準ライブラリの json モジュールを使って、JSONデータをPythonのタプルに変換する手順を具体例とともに解説します。
基本的な変換の手順
JSONからタプルへの変換は、以下の2ステップで行えます。
- JSONを辞書に変換する:文字列の場合は
json.loads()、ファイルの場合はjson.load()を使用します。 - 辞書をタプルに変換する:
dict.items()でキーと値のペアを取得し、tuple()でタプル化します。
json モジュールはJSONを解析して自動的に辞書へ格納してくれるため、その後は通常の辞書と同じように値へアクセスできます。
サンプルJSONデータ
例として、次のような内容の data.json ファイルを用意します。
{
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}
JSONファイルを読み込んでタプルに変換するコード
このJSONファイルをPythonプログラムで読み込み、キーと値のペアをタプルとして出力するには、次のように記述します。
import json
f = open('data.json')
data = json.load(f)
f.close()
print(tuple(data.items()))
with 文を使えば、ファイルを確実に閉じる処理も簡潔に書けます。
import json
with open('data.json') as f:
data = json.load(f)
print(tuple(data.items()))
実行結果
上記のコードを実行すると、以下のようにタプル形式で出力されます。
(('id', 'file'), ('value', 'File'), ('popup', {'menuitem': [{'value': 'New', 'onclick': 'CreateNewDoc()'}, {'value': 'Open', 'onclick': 'OpenDoc()'}, {'value': 'Close', 'onclick': 'CloseDoc()'}]}))
注意点
tuple(data.items())は最上位のキーと値のみをタプル化します。ネストされた内部の辞書やリストはそのままの型で保持されます。- ネストされたデータまで完全にタプルへ変換したい場合は、再帰的な変換関数を自作する必要があります。
- JSON文字列が直接ソースコード内にある場合は、
json.load(f)の代わりにjson.loads(文字列)を使用してください。
このように、json モジュールと items() メソッドを組み合わせるだけで、JSONデータを簡単にタプルへ変換できます。用途に応じて辞書とタプルを使い分けましょう。
-
Pythonで文字列をJSONに変換する方法|json.loads()の使い方を解説
PythonでJSON文字列を辞書(dict)に変換する基本Pythonでは、標準ライブラリの json モジュールを使うことで、JSON形式の文字列を簡単に扱うことができます。文字列として渡されたJSONデータをPythonの辞書型に変換するには、json.loads() メソッドを使用します。json.loads() は、有効なJSON文字列を受け取り、それを解析して辞書オブジェクトを返します。返された辞書には、すべての要素にキーを使ってアクセスできます。json.loads()の使用例>>> import json >>> s = {success:
-
JSONをExcelに変換する方法!Power Queryとオンラインツールの使い方を徹底解説
JSON(JavaScript Object Notation)は、さまざまな種類のデータを保存するために広く利用されているデータ形式です。データの保存だけでなく、2つのサーバー間でデータをやり取りする際にも活用されており、APIなどを通じてWebサーバーと通信する場面でよく目にします。JSONファイルの構造は非常にシンプルで、配列とオブジェクトで構成されています。典型的なJSONファイルでは、キーと値のペアが配列内の各オブジェクトに格納されており、インデックスとキーを指定することで目的のデータにアクセスできます。プログラマーや開発者にとってJSONの構造はごく基本的なものですが、一般ユーザー