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

JavaScriptのオブジェクトをPythonの辞書に変換する方法を解説

PythonとJavaScriptでは、辞書(連想配列)の内部的な表現方法が異なります。そのため、両者間でデータを受け渡す際には、何らかの中間表現が必要になります。最も広く使われている中間表現がJSONです。JSONはシンプルかつ軽量なデータ交換フォーマットで、言語に依存しないため、PythonとJavaScriptの橋渡しに最適です。

Python側:json.dumps() で辞書をJSON文字列に変換する

Pythonのjson.dumps()関数を使うと、辞書(dict)をJSON形式の文字列に変換できます。

import json

my_dict = {
    'foo': 42,
    'bar': {
        'baz': "Hello",
        'poo': 124.2
    }
}

my_json = json.dumps(my_dict)
print(my_json)

出力結果

'{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'

このように、ネストされた辞書も問題なくJSON文字列へ変換されます。

Python側:json.loads() でJSON文字列を辞書に戻す

逆に、受け取ったJSON文字列をPythonの辞書に変換するには、json.loads()関数を使用します。

import json

my_str = '{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'
my_dict = json.loads(my_str)
print(my_dict['bar']['baz'])

出力結果

Hello

変換後は通常の辞書として扱えるため、キーを指定して値にアクセスできます。

JavaScript側での扱い

JavaScript側では特別な処理はほとんど不要です。というのも、JSONは「JavaScript Object Notation」の略であり、JavaScriptのオブジェクト記法そのものだからです。多くの場合、JSはJSONから暗黙的にオブジェクトを構築します。

ただし、データが文字列として受け取られた場合は、JSON.parse()を使ってオブジェクトに変換しましょう。

const obj = JSON.parse('{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}');
console.log(obj.bar.baz); // Hello

まとめ

  • Python → JavaScript:json.dumps()で辞書をJSON文字列化して送信
  • JavaScript → Python:文字列ならJSON.parse()でオブジェクト化し、Python側ではjson.loads()で辞書に変換
  • JSONは軽量で汎用的なため、異なる言語間のデータ交換における標準的な中間フォーマットとして最適
  1. JSONテキストをJavaScriptのJSONオブジェクトに変換する方法を解説

    JavaScriptでは、JSON.parse()メソッドを使用することで、JSON形式のテキスト文字列をJavaScriptオブジェクトへと変換できます。このメソッドは、APIから取得したデータやサーバーとの通信で受け取ったJSON文字列を、プログラム内で扱いやすいオブジェクトにパースする際に非常に重要な役割を果たします。 以下は、JSONテキストをJavaScriptオブジェクトに変換する具体的なコード例です。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /&

  2. JavaScriptで辞書(連想配列)をオブジェクトのリストに変換する方法

    JavaScriptでは、キーと値のペアを持つ「辞書」のようなオブジェクトを、Object.values()メソッドを使うことで簡単にオブジェクトの配列(リスト)へ変換できます。以下に具体的なサンプルコードを示します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document&