Python
 Computer >> コンピューター >  >> プログラミング >> Python

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()を使用する(結果はリストになる)
  1. Python関数からタプルを返す方法をわかりやすく解説

    Pythonでは、関数から複数の値を一度に返したい場合にタプルを活用できます。タプルを使えば、文字列や数値など異なる型の値をまとめて1つの戻り値として扱えるため、非常に便利です。ここでは、実際にタプルを返す関数を定義し、その動作を確認してみましょう。コード例def foo(): str = tutorialspoint x = 30 return (str, x) print(foo())この関数 foo() は、文字列 tutorialspoint と整数 30 を括弧で囲んでタプルとして返しています。呼び出し側では、このタプルを受け取ってそのまま表示できます。実行

  2. 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