PythonのタプルをJSON形式にダンプする方法をわかりやすく解説
PythonのタプルをJSON形式に変換する基本
JSONとはJavaScript Object Notationの略で、軽量かつ言語に依存しないデータ交換フォーマットです。人間にも読みやすく、多くのプログラミング言語で利用できるため、Web APIや設定ファイルなど、さまざまな場面でデータのやり取りに使われています。
Pythonでは、標準ライブラリに含まれるjsonモジュールを使用することで、JSONデータのエンコード(書き出し)とデコード(読み込み)を簡単に行うことができます。
json.dumps()関数でタプルをJSON文字列に変換する
jsonモジュールが提供するdumps()関数を使うと、Pythonのオブジェクト(タプル、リスト、辞書など)をJSON形式の文字列に変換できます。
次の例では、複数の型(整数・文字列・浮動小数点数)を含むタプルをJSON形式にダンプしています。
>>> T1 = (12, "Ravi", "B.Com FY", 78.50) >>> import json >>> str1 = json.dumps(T1) >>> str1 '[12, "Ravi", "B.Com FY", 78.5]'
ポイント:タプルはJSONでは配列になる
出力結果を見ると分かるように、タプルはJSONでは配列(リスト)として表現されます。これは、JSONの仕様上「配列」という型しか存在せず、Pythonのタプルとリストがどちらも配列に対応付けられるためです。そのため、dumps()による変換後のデータは、元がタプルであっても角括弧 [ ] で囲まれた形になります。
逆にJSONからPythonオブジェクトへ戻すには?
JSON形式の文字列を再びPythonのオブジェクトに戻したい場合は、json.loads()関数を使用します。なお、この場合に得られるのはリストであり、元のタプルと同じ構造には戻らない点に注意してください。
>>> data = json.loads(str1) >>> data [12, 'Ravi', 'B.Com FY', 78.5]
まとめ
- JSONは軽量で言語非依存のデータ交換フォーマットである
- Pythonのjson.dumps()を使えば、タプルを簡単にJSON形式の文字列に変換できる
- タプルはJSONでは配列として扱われる
- 逆変換にはjson.loads()を使用する(結果はリストになる)
-
Python関数からタプルを返す方法をわかりやすく解説
Pythonでは、関数から複数の値を一度に返したい場合にタプルを活用できます。タプルを使えば、文字列や数値など異なる型の値をまとめて1つの戻り値として扱えるため、非常に便利です。ここでは、実際にタプルを返す関数を定義し、その動作を確認してみましょう。コード例def foo(): str = tutorialspoint x = 30 return (str, x) print(foo())この関数 foo() は、文字列 tutorialspoint と整数 30 を括弧で囲んでタプルとして返しています。呼び出し側では、このタプルを受け取ってそのまま表示できます。実行
-
Python関数からJSONオブジェクトを返す方法をわかりやすく解説
Pythonの関数からJSONオブジェクト(JSON形式の文字列)を返すには、標準ライブラリの json モジュールに含まれる json.dumps() 関数を使用します。この関数は、Pythonの辞書(dict)などのオブジェクトをJSON形式の文字列へ変換(シリアライズ)してくれます。 基本的な例 以下は、Pythonの辞書をJSON文字列に変換して返す関数のシンプルな例です。 import json # Pythonの辞書 a = {name: Sarah, age: 24, isEmployed: True} def retjson(): python2json = jso